home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / bbsutil / pb125a_1.zip / CTL.LZH / C1
Text File  |  1993-08-02  |  65KB  |  2,873 lines

  1. BULLETDEF&Requiem
  2. SysOp Warning
  3. BBS Software
  4. BULLETTYP)SetActivity(Bulletins Menu)
  5.  
  6.   *Disp
  7. if (/EXPERT)=(Y) then linefeed(1)
  8. If (/EXPERT)=(Y) Then Goto(prompt)
  9.   *Sdisp
  10. Display(Display\blt,/:SEC/)
  11.  
  12.   *Prompt
  13. jump(Pauseprompt)
  14. Menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  15.  BigIf (q:loadmain,g:goodbye,x:expert,h:help,?:sdisp,n:new)
  16. Number(%RESP%) ;Is it a number??
  17. IfNotTrue ( Goto (bsel))
  18. Log(--,Bulletin %RESP% Read.)
  19. Display (Display\Bull%RESP%)
  20. goto (disp)
  21.  
  22.   *Loadmain
  23. LoadMem(control\main.mnu)
  24.         
  25.   *Expert
  26. loadsub(control\macros\expert.ctl)
  27. goto (disp)
  28.  
  29.   *help
  30. Log(--,Viewing Bulletins Menu Help)
  31. Display (Display\help\BULL,/:SEC/)
  32. Goto (disp)
  33.  
  34.   *new
  35. LoadSub(control\macros\newbull.ctl)
  36. enter
  37. goto (disp)
  38.  
  39.   *goodbye
  40. LoadSub(control\macros\bye.ctl)
  41. Goto (disp)
  42.  
  43.   *bsel
  44. LoadSub(control\macros\badsel.ctl)
  45. Goto (disp)
  46.  
  47. *Pauseprompt
  48. DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  49. DefPif(s:stop,n:nonstop,g:goodbye)   ;define our pause prompt...
  50. ret
  51. MESSMNU║*disp
  52. SetActivity (Message Menu)
  53. if (/EXPERT)=(Y) then goto (prompt)
  54.  
  55. *sdisp
  56. Display (Display\MESS,/:SEC/)
  57.  
  58. *prompt
  59. if (/Expert)=(Y) then say()
  60. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Left. &3&[%AREANAME%] &15&Please select, &14&%FNAME%&12&: &15&*)
  61. BigIf (G:GOODBYE,H:HELP,?:SDISP,X:EXP,J:CHANGE,S:SEARCH,SEL:SELECT,M:READER,COPY:COPY,SC:SCAN,Q:MAINMN,R:READMN,E:ENTERMN,F:FILESMN,A:SL0)
  62. goto (bsel)
  63.  
  64. *bsel
  65. loadsub(control\macros\badsel.ctl)
  66. goto (disp)
  67.  
  68.  
  69.  
  70. *GOODBYE
  71. EnufSec(10)
  72. IfNotTrue(Goto(BSel))
  73. LoadSub(CONTROL\MACROS\BYE.CTL)
  74. Goto(Disp)
  75. *HELP
  76. EnufSec(10)
  77. IfNotTrue(Goto(BSel))
  78. Display(display\help\MESS,/:SEC/)
  79. Log (--,Viewed Message Menu Help)
  80. Goto (Disp)
  81.  
  82. *EXP
  83. EnufSec(10)
  84. IfNotTrue(Goto(BSel))
  85. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  86. Goto(Disp)
  87. *CHANGE
  88. EnufSec(10)
  89. IfNotTrue(Goto(BSel))
  90. LoadSub(CONTROL\MACROS\CHG.CTL)
  91. Goto(Disp)
  92. *SEARCH
  93. EnufSec(10)
  94. IfNotTrue(Goto(BSel))
  95. LoadSub(CONTROL\MACROS\SEARCHM.CTL)
  96. Goto(Disp)
  97. *SELECT
  98. EnufSec(10)
  99. IfNotTrue(Goto(BSel))
  100. LoadSub(CONTROL\MACROS\SELECT.CTL)
  101. Goto(Disp)
  102. *READER
  103. EnufSec(20)
  104. IfNotTrue(Goto(BSel))
  105. LoadSub(CONTROL\MACROS\MREADER.CTL)
  106. Goto(Disp)
  107. *COPY
  108. EnufSec(100)
  109. IfNotTrue(Goto(BSel))
  110. LoadSub(CONTROL\MACROS\MCOPY.CTL)
  111. Goto(Disp)
  112. *SCAN
  113. EnufSec(10)
  114. IfNotTrue(Goto(BSel))
  115. LoadSub(CONTROL\MACROS\SCANM.CTL)
  116. Goto(Disp)
  117. *MAINMN
  118. EnufSec(10)
  119. IfNotTrue(Goto(BSel))
  120. LoadMem(CONTROL\MAIN.MNU)
  121. *READMN
  122. EnufSec(10)
  123. IfNotTrue(Goto(BSel))
  124. LoadSub(CONTROL\READ.CTL)
  125. Goto(Disp)
  126. *ENTERMN
  127. EnufSec(10)
  128. IfNotTrue(Goto(BSel))
  129. LoadSub(CONTROL\MACROS\ENTER.CTL)
  130. Goto(Disp)
  131. *FILESMN
  132. EnufSec(10)
  133. IfNotTrue(Goto(BSel))
  134. LoadMem(CONTROL\FILES.MNU)
  135. *SL0
  136. LoadSub(CONTROL\MACROS\ABAND.CTL)
  137. Goto(Disp)
  138. MAINMNUπ*Disp
  139. SetActivity (Main Menu)
  140. if(/EXPERT)=(Y) then linefeed(1)
  141. if(/EXPERT)=(Y) then Goto (Prompt)
  142. *sdisp
  143. Display (display\main,/:SEC/)
  144.  
  145. *Prompt
  146. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  147. BigIf (G:BYE,H:HELP,?:SDISP,X:EXP,P:PAGE,Y:STATS,N:NEWS,C:CMNT,B:BMN,Q:QMN,F:FMN,M:MMN,D:DMN,L:LIST,@:SMN,WHO:WHO,CHAT:CHAT,FIND:FND,BANK:BNK,VER:SL0)
  148. Goto (bsel)
  149.  
  150. *bSel
  151. LoadSub(control\macros\badsel.ctl)
  152. Goto (disp)
  153.  
  154. *MACM
  155. LoadMem(CONTROL\MACSIG.MNU)
  156.  
  157. *BYE
  158. EnufSec(10)
  159. IfNotTrue(Goto(BSel))
  160. LoadSub(CONTROL\MACROS\BYE.CTL)
  161. Goto(Disp)
  162. *HELP
  163. EnufSec(10)
  164. IfNotTrue(Goto(BSel))
  165. Display(display\help\main,/:SEC/)
  166. Log (--,Viewed Main Menu Help)
  167. Goto (Disp)
  168. *EXP
  169. EnufSec(10)
  170. IfNotTrue(Goto(BSel))
  171. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  172. Goto(Disp)
  173. *PAGE
  174. EnufSec(10)
  175. IfNotTrue(Goto(BSel))
  176. LoadSub(CONTROL\MACROS\PAGE.CTL)
  177. Goto(Disp)
  178. *STATS
  179. EnufSec(10)
  180. IfNotTrue(Goto(BSel))
  181. LoadSub(CONTROL\MACROS\STATS.CTL)
  182. Goto(Disp)
  183. *NEWS
  184. EnufSec(10)
  185. IfNotTrue(Goto(BSel))
  186. LoadSub(CONTROL\MACROS\NEWS.CTL)
  187. Goto(Disp)
  188. *CMNT
  189. EnufSec(10)
  190. IfNotTrue(Goto(BSel))
  191. LoadSub(CONTROL\MACROS\COMMENT.CTL)
  192. Goto(Disp)
  193. *BMN
  194. EnufSec(10)
  195. IfNotTrue(Goto(BSel))
  196. LoadMem(CONTROL\BULLET.MNU)
  197. *QMN
  198. EnufSec(10)
  199. IfNotTrue(Goto(BSel))
  200. LoadMem(CONTROL\QUES.MNU)
  201. *FMN
  202. EnufSec(10)
  203. IfNotTrue(Goto(BSel))
  204. LoadMem(CONTROL\FILES.MNU)
  205. *MMN
  206. EnufSec(10)
  207. IfNotTrue(Goto(BSel))
  208. LoadMem(CONTROL\MESS.MNU)
  209. *DMN
  210. EnufSec(20)
  211. IfNotTrue(Goto(BSel))
  212. LoadMem(CONTROL\DOORS.MNU)
  213. *LIST
  214. EnufSec(10)
  215. IfNotTrue(Goto(BSel))
  216. LoadSub(CONTROL\MACROS\LIST.CTL)
  217. Goto(Disp)
  218. *SMN
  219. EnufSec(100)
  220. IfNotTrue(Goto(BSel))
  221. LoadMem(CONTROL\SYSOP.MNU)
  222. *WHO
  223. EnufSec(10)
  224. IfNotTrue(Goto(BSel))
  225. LoadSub(CONTROL\MACROS\MWHO.CTL)
  226. Goto(Disp)
  227. *CHAT
  228. EnufSec(10)
  229. IfNotTrue(Goto(BSel))
  230. LoadSub(CONTROL\MACROS\MCHAT.CTL)
  231. Goto(Disp)
  232. *FND
  233. LoadSub(CONTROL\MACROS\FIND.CTL)
  234. Goto(Disp)
  235. *BNK
  236. LoadSub(CONTROL\MACROS\BANK.CTL)
  237. Goto(Disp)
  238. *SL0
  239. LoadSub(CONTROL\MACROS\VER.CTL)
  240. Goto(Disp)
  241. ENTERATTCTLσSay(&14&Calculating free storage space...*)
  242. Zap(varr.%NODE%,%var%r)
  243. ClearMem
  244. FreeSpace(%CDRIVE%:)
  245. setequal(l=%aresp%)
  246. CmpVal(%ARESP%,%MINSPACE%)
  247. IfTrue (Goto (notenufs))
  248. eline(38)
  249.  
  250.   *pickprot
  251. Display (display\upPROTS1)
  252. MenuAsk (&3&Which transfer protocol would you like to use?&12&: &15&*)
  253. If (%RESP%)=(Q) Then Return
  254. Len(%RESP%)
  255. NotIf (%ARESP%)=(1) Then Goto (Pprob)
  256. Seek(protocol\%RESP%-AU.BT)
  257. IfTrue (Goto (Pok))
  258.  
  259.   *pprob
  260. loadsub(control\macros\badsel.ctl)
  261. Goto (pickprot)
  262.  
  263.    *Pok
  264. addcomma(%var%l)
  265. Say(&CR&&11&%ARESP% &15&bytes free.)
  266. SetEqual(r=%RESP%)
  267. cMenuAsk%cron% (&CR&&3&Please enter the &11&name &3&of the file to attach&12&:&15& *)
  268. If (%RESP%)=(<CR>) Then Return
  269. SetEqual(x=%RESP%)
  270. Seek(%ATTPAT%%var%x)
  271. IfTrue (Goto (alreadyhere))
  272. Say(&CR&&11&We're ready to receive the file.  Please start sending now.)
  273. If (%BAUD%)=(LOCAL) Then Goto (locul)
  274. FixFile(protocol\%var%r-au.bt,protocol\%var%r-au.bat)
  275. Exec(protocol\%var%r-au.BAT│)
  276. Kill(protocol\%var%r-au.bat)
  277. Goto (success)
  278.  
  279.   *locul
  280. MenuAsk (&3&Please enter the &10&path&3& for this file&12&: &15&*)
  281. fCopy(%RESP%\%var%x,%ATTPAT%%var%x)
  282. Goto (success)
  283.  
  284.   *success
  285. NotIf (%ARESP%)=(0) Then Goto (aborted)
  286. Log(--,Attach uploaded (%var%x))
  287. Display(display\attsucc)
  288. return
  289.  
  290.   *notenufs
  291. display(display\nospce)
  292. Return
  293.         
  294.   *aborted
  295. SetEqual(x=)
  296. FlushOut
  297. Log(--,Attach upload aborted (%var%x))
  298. Display(display\attabt)
  299. Return
  300.         
  301.   *alreadyhere
  302. Display (display\HERENOW)
  303. Goto (pok)
  304. OPENCTLp jump (InitSetup)
  305.  
  306.  Jump (GraphDetect)
  307.  
  308.  Display (display\WELCOME)
  309.  
  310. jump (ripsetup)
  311.  
  312. setequal(t=0)
  313.  
  314. *CONT
  315.  
  316. inc(t)
  317. if (%VAR%T)=(5) then loadmem(control\no.ctl)
  318.  
  319.  MenuAsk%MIN1% (&CR&&3&Please enter your first name here&12&: &15&*)
  320.  SetEqual (a=%RESP%)
  321.  Find (%var%a, )
  322.  NotIf (%ARESP%)=(0) then Goto (Check)
  323.  MenuAsk (&3& Please enter your last name here&12&: &15&*)
  324.  SetEqual (b=%RESP%)
  325.  
  326. *CHECK
  327.  jump (DoName)
  328.   
  329. *STSEEK
  330.  SeekUser (%NAME%)
  331.  if (%ARESP%)=(No) then goto (NotFound)
  332.  If (%NDLOCK%) = (1) then Loadmem(control\lockout.ctl)
  333.  
  334.  Say (&CR&&3&Are you the "%NDNAME%" from "%NDFROM%"?*)
  335.  jump (YesNo)
  336.  If (%RESP%)=(No) then Goto (dupname)
  337.  MenuEqual (e=%NDPASS%)
  338.  Say (&CR&Dots will echo instead of actual letters of your password.)
  339.  SetEqual (f=0)
  340.  
  341. *PASSWORD
  342.  Say (&3&What is your password?&11& (                    )&15&*)
  343.  Back(21)
  344.  cGetPass%MIN1%%LEN20% (.)
  345.  If (%RESP%) = (%VAR%E) then Goto (Ok)
  346.  inc(f)
  347.  Log (--,(%NAME%) Password (%RESP%) incorrect...)
  348.  If (%VAR%F) = (3) then Goto (lasttry)
  349.  If (%VAR%F) = (4) then Goto (badpass)
  350.  beep(1)
  351.  Say(&CR&&12&Password incorrect. Try again please...&CR&)
  352.   goto (password)
  353.  
  354. *LASTTRY
  355.  Say (&CR&&12&This is your last try! Next time you will be logged off!&CR&)
  356.  goto (password)
  357.  
  358. *NOTFOUND
  359.  badseek(%NAME%)
  360.  iftrue (loadmem(control\badname.ctl))
  361.  beep(1)
  362.  Say (&CR&We couldn't find "%NAME%" in our user file.)
  363.  Say (&CR&&3&Did you spell your name correctly?*)
  364.  jump (YesNo)
  365.  If (%RESP%)=(No) then Goto (TryAgain)
  366.  Display (display\NONMEMB)
  367.  Say (&CR&&3&Would you like to become a member of %BBS%?*)
  368.  jump (YesNo)
  369.  If (%RESP%)=(No) then loadmem (control\refused.ctl)
  370.  LoadMem (control\newuser.ctl)
  371.  
  372. *TRYAGAIN
  373.  Say (&CR&&12&Try again ...)
  374.  Log (--,Attempted logon as %NAME%)
  375.  Goto (Cont)
  376.  
  377. *DUPNAME
  378.  Display (display\DUPE)
  379.  Goto (Cont)
  380.  
  381. *BADPASS
  382.  LoadMem(control\badpass.ctl)
  383.   
  384. *OK
  385.  SetActivity (Logging On...)
  386.  Goto (Connect)                             ;password's OK so let them in...
  387.  
  388. *CONNECT
  389.  UserLogin(%NDNUMB%,User %NDNUMB%: %NDNAME% Logged On (%BAUD%))
  390.  If (%ARESP%)=(ALREADY ON) then Goto (alreadyon)
  391.  If (/SEC)=(%SYSSEC%) then Goto (syssec)
  392.  
  393. *CONCLR
  394.  ClearScr
  395.  selarea(/:lastmsg/)
  396.  listfile(areas\farea/:lastmsg/)
  397.  Log(->,Call #%CALLERS%, %GRAPHICS%, %NDFROM%, Last: /:LAST/, Sec: /:SEC/)
  398.  If (/SUB)=(Y) then Goto (subscriber)
  399.  
  400. *SECSHOW
  401.  InpClose
  402.  Display (display\sec/:SEC/)
  403.  fDate(display\newsltr.asc)
  404.  CmpDate(/:LAST/,%ARESP%)
  405.  IfNotTrue( display (display\newnews))
  406.  Say(&3&Would you like to view our newsletter?*)
  407.  jump (YesNo)
  408.  If (%RESP%) = (No) then Goto (mailchk)
  409.  Log(--,Viewed Newsletter)
  410.  Display(display\NEWSLTR)
  411.  linefeed(1)
  412.  Enter
  413.  
  414. *MAILCHK
  415.  cmpval(/:lastdown/,%maxfarea%)
  416.  ifnottrue(setequal(/lastdown=1))
  417.  selfarea(/:lastdown/)
  418.  ClearScr
  419.  NiceDate(/:LAST/)
  420.  setequal(^53=%ARESP%)
  421.  If (/LASTCHK)=(00-00-00) then setequal(^58=N/A)
  422.  if (/LASTCHK)=(00-00-00) then goto (bakn)
  423.  NiceDate(/:LASTCHK/)
  424.  setequal (^58=%ARESP%)
  425.  
  426. *BAKN
  427.  say(&CR&&15&%BBS% &12&Statistics&10&)
  428.  say(&CR&User Information:&11&&CR&)
  429.  say(Security Level                : &12&%sec%&11&)
  430.  nicedate(/:last/)
  431.  say(Last Call                     : &12&%aresp%&11&)
  432.  say(Number of Times on BBS        : &12&/:timeson/&11&)
  433.  say(Graphics Mode                 : &12&%graphics%&11&)
  434.  nicedate(/:lastchk/)
  435.  say(Last New Files Check          : &12&%aresp%&11&)
  436.  nicedate(/:first/)
  437.  say(First Call                    : &12&%aresp%&11&)
  438.  say(Time Limit                    : &12&%LIMIT% minutes&11&)
  439.  say(&CR&&10&BBS Information:&11&&CR&)
  440.  nicedate(%since%)
  441.  say(This BBS Has Been Online Since: &12&%aresp%&11&)
  442.  ;say(This BBS Has Received         : &12&%CALLERS% callers&11&)
  443.  say(This BBS is Currently Running : &12&Powerboard Version %VER%&11&)
  444.  nicetime(%filupt%)
  445.  setequal(a=%aresp%)
  446.  nicedate(%filup%)
  447.  say(Last Upload to File Area      : &12&%aresp% %var%a&11&)
  448.  nicetime(%msgupt%)
  449.  setequal(a=%aresp%)
  450.  nicedate(%msgup%)
  451.  say(Last Message Entered          : &12&%aresp% %var%a&CR&)
  452.  enter
  453. If (/:WAIT/)=(N) then LoadMem(control\BULLETS.CTL)
  454. ClearScr
  455. LoadMem(control\mscan.ctl)
  456.  
  457. *SUBSCRIBER
  458.  DateOK(/:SUBDATE/)
  459.  IfNotTrue (goto (secshow))
  460.  CmpDate(%DATE%,/:SUBDATE/)
  461.  IfNotTrue(goto (sok))
  462.  Display (display\SEXP,/:SEC/)
  463.  InpOpen (sub.bbs)
  464.  
  465. *STRSUB
  466.  fEndIF(secshow)
  467.  InpRead
  468.  SetEqual(b=%ARESP%)
  469.  SetEqual(a=%var%b)
  470.  Len(%var%a)
  471.  If (%ARESP%)=(0) then Goto (strsub)
  472.  Get(%var%a,1,1)
  473.  If (%ARESP%)=(;) then Goto (strsub)
  474.  Find(%var%b,,)
  475.  If (%ARESP%)=(0) then Goto (strsub)
  476.  SetEqual(a=%var%b)
  477.  SetEqual(c=%ARESP%)
  478.  AddVar(&c+-1=c)
  479.  Get(%var%a,1,%var%c)
  480.  NotIF (%ARESP%)=(/SEC) then Goto (strsub)
  481.  AddVar(&c+2=c)
  482.  Get(%var%b,%var%c,10)
  483.  SetEqual (/SEC=%ARESP%)
  484.  SetEqual (/SUB=N)
  485.  Log(--,User's subscription expired.)
  486.  Goto (secshow)
  487.  
  488. *SOK
  489.  Display(display\SUB,/:SEC/)
  490.  Enter
  491.  Goto (secshow)
  492.  
  493. *ALREADYON
  494.  Display(display\ALREADY)
  495.  Log(<<,User already on other node!)
  496.  QuitBBS
  497.  
  498. *CHKEOF2
  499.  inc(h)
  500.  Goto (chkeof)
  501.  
  502. *SYSOP
  503.  Jump (DefPrompt)
  504.  Kill (cnodes.%NODE%,inodes.%NODE%,tagged.%NODE%,tagged2.%NODE%)
  505.  SetActivity (SYSOP Logon)
  506.  Setequal(/Graphics=ANSI)
  507.  UserLogin(1,SYSTEM OPERATOR Logged On Locally)
  508.  Log (->,Call %%CALLERS%, %GRAPHICS%, Last: /:LAST/)
  509.  Goto (secshow)
  510.  
  511. *SYSSEC
  512.  If (%SYSP%)=() then Goto (conclr)
  513.  Say(&3&Sysop Password?&12&: &15&*)
  514.  MenuEqual(a=%SYSP%)
  515.  cGetPass(*)
  516.  If (%RESP%)=(&a) then goto (conclr)
  517.  Log(!!,Incorrect Sysop Pass (%RESP%))
  518.  Say(&12&Incorrect Attempt!)
  519.  QuitBBS
  520.  
  521.  
  522. *INITSETUP
  523.  jump (defprompt)
  524.  if (%ON%)=(FROM DOOR) then loadmem(control\doorback.ctl)
  525.  SetEqual (/sec=%NEWSEC%)
  526.  SetEqual (/SCREENLEN=23)
  527.  SetActivity (Logging in...)
  528.  linefeed(1)
  529.  %Clogin% Kill (cnodes.%NODE%,inodes.%NODE%,tagged.%NODE%,tagged2.%NODE%,psys.%node%)
  530. ret
  531.  
  532. *yesno
  533.  say( &9&[   ]&14&*)
  534.  Back(4)
  535.  YesNoAsk (*)
  536. ret
  537.  
  538. *GraphDetect
  539.  setequal(/graphics=ANSI)
  540.  if (%LOCAL%)=(TRUE) then ret
  541.  flushout
  542.  secpause(1)
  543.  say()
  544.  flushout
  545.  secpause(1)
  546.  comsend(n!)
  547.  say(|)
  548.  say(Checking your system's graphics capability . . . *)
  549.  setequal(a=)
  550.  secpause(1)
  551.  comkey
  552.  notif(%ARESP%)=() then goto (tkys)
  553.  secpause(1)
  554.  comkey
  555. *tkys
  556.  if(%ARESP%)=(I) then goto (isrip)
  557.  if(%ARESP%)=() then setequal(a=aps)
  558.  if(%ARESP%)=() then goto (isnone)
  559.  comkey
  560.  goto (tkys)
  561.  
  562. *isansi
  563.  say(&12&ANSI &15&Graphics Detected)
  564.  setequal(/graphics=ANSI)
  565.  ret
  566. *isrip
  567.  flushout
  568.  say(&12&RIP&14&scrip &15&Graphics Detected)
  569.  setequal(/graphics=RIP)
  570.  ret
  571. *isnone
  572.  flushout
  573.  if (%VAR%A)=(aps) then goto (isansi)
  574.  say(None Detected)
  575.  setequal(/graphics=ASCII)
  576.  ret
  577.  
  578. *doname
  579.  NameSplit (%var%a,a,b)
  580.  NameComb (%var%a,%var%b,d)
  581.  Namequal (/name=%var%d)
  582.  nameok
  583.  ifnottrue(goto (cont))
  584.  SetEqual (d=%NAME%)
  585. ret
  586.  
  587. *defPrompt
  588.  DefPause ($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  589.  DefPif (s:stop,n:nonstop)
  590. ret
  591.  
  592. *ripsetup
  593. notif (%graphics%)=(RIP) then ret
  594. setequal(/screenlen=41)
  595. ret
  596. ZIPVIEWCTL *EXLP
  597.  Say(&CR&&7& Length  Method   Size  Ratio   Date    Time   CRC-32  Attr  Name&11&)
  598.  InpRead
  599.  Say(──────────────────────────────────────────────────────────────────&15&)
  600.  
  601. setequal(l=0)
  602. setequal(p=2)
  603. resetpause
  604.  
  605. DO
  606.  fEndIf(eloop)
  607.  InpRead
  608.  SetEqual(h=%ARESP%)
  609.  Get (%ARESP%,1,3)
  610.  If (%ARESP%)=( --) then goto (elp)
  611.  inc(l)
  612.  Say(%var%h)
  613.  inc(p)
  614.  if (&p)=(/screenlen) then jump (pause)
  615. LOOP
  616.  
  617. *ELP
  618.  InpRead
  619.  Say(&11&──────────────────────────────────────────────────────────────────)
  620.  get (%aresp%,1,50)
  621.  Say(&12&%ARESP%)
  622.  InpClose
  623.  say (&CR&&14&  %var%l File(s) in archive)
  624.  
  625. *ELOOP
  626.  MenuAsk %MIN1%%LEN1% (&CR&&3&Would you like to &11&(&7&R&11&)ead Textfile, (&7&D&11&)ownload File, (&7&L)&11&ist, (&7&Q&11&)uit?&14& *)
  627.  BigIf (d:download,r:read,q:quit,l:list)
  628.  Goto (eloop)
  629.  
  630. *LIST
  631.  InpClose
  632.  InpOpen(zipinfo.txt)
  633.  linefeed(1)
  634.  
  635. DO
  636.  InpRead
  637.  Get (%ARESP%,1,7)
  638.  NotIf (%ARESP%)=() then if (%ARESP%)=( Length) then goto (exlp)
  639. EofLoop
  640.  
  641. *QUIT
  642.  InpClose
  643.  SelFArea (/:lastdown/)
  644.  Return
  645.  
  646. *READ
  647.  Say(&CR&&3&Please enter the name of the file to read&12&: &14&(            )&15&*)
  648.  Back(13)
  649.  MenuAsk%CRON%%LEN12%(*)
  650.  if (%RESP%)=(<CR>) then goto (eloop)
  651.  Say(&CR&&11&Retriving &7&%RESP%&11&, Please Wait!&7&)
  652.  Exec(md zvtemp>nul,) ;create temporary dir
  653.  Zap(yes,Yes)
  654.  Exec(del zvtemp <yes >nul,)
  655.  Exec(pkunzip %FILPATH%%var%e %RESP% zvtemp\ >nul,)
  656.  View (zvtemp\%RESP%)
  657.  Exec(del zvtemp <yes >nul,)
  658.  Enter
  659.  Goto (eloop)
  660.  
  661. *DOWNLOAD
  662.  Say(&3&&CR&Please enter the name of the file to download&12&: &14&(            )&15&*)
  663.  Back(13)
  664.  MenuAsk%CRON%%LEN12%(*)
  665.  if (%RESP%)=(<CR>) then goto (eloop)
  666.  Say(&CR&&11&Retriving &7&%RESP%&11&, Please Wait!&7&)
  667.  Exec(md zvtemp >nul,) ;create temporary dir
  668.  Zap(yes,Yes)
  669.  Exec(del zvtemp <yes,)
  670.  Exec(pkunzip %FILPATH%%var%e %RESP% zvtemp\ >nul,)
  671.  SetEqual(d=%RESP%)
  672.  Seek(zvtemp\%RESP%)
  673.  IfNotTrue (goto (eloop))
  674.  
  675. *PICKP
  676.  Display (Display\DN-PROTS)
  677.  MenuAsk %MIN1% (&3&Which transfer protocol would you like to use?&11&(or Q to Quit)&12&: &15&*)
  678.  Find(%RESP%,\)      ;make sure they didnt stick a backslash in there
  679.  NotIf (%ARESP%)=(0) Then Goto (eloop)
  680.  BigIf(q:eloop)
  681.  SetEqual(b=%RESP%)
  682.  Seek(protocol\%var%b-VD.BT)    ;check to see If protocol exists..
  683.  IfNotTrue(Goto (pickp))
  684.  Len(%var%b)
  685.  NotIf (%ARESP%)=(1) then goto (nobat)
  686.  Say(&CR&&3&       Would you like to download this file? &9&[   ]&14&*)
  687.  Back(4)
  688.  YesNoAsk(*)
  689.  If (%RESP%)=(No) Then Goto (eloop)
  690.  Say(&CR&&11&We're sending the file you requested. Please get ready to receive it now.)
  691.  If (%LOCAL%)=(TRUE) Then Goto (eloop)
  692.  FixFile(protocol\%var%b-vd.bt,protocol\%var%b-vd.bat)
  693.  InitClock
  694.  Exec(protocol\%var%b-vd.BAT│)
  695.  Kill(protocol\%var%b-vd.bat)
  696.  If (%LOCAL%)=(FALSE) Then toglocal
  697.  NotIf (%ARESP%)=(0) Then Goto (nsc)
  698.  XferTime
  699.  SetEqual(e=%ARESP%)
  700.  Size(zvtemp\%var%d)
  701.  MultVar(%XMIN%*60=o)
  702.  DivVar(%ARESP%/%var%o=g)         ;calculate CPS rate
  703.  CnvtK(%ARESP%)
  704.  AddVar(%ARESP%+/:KDOWN/=o)
  705.  SetEqual(/KDOWN=%var%o)
  706.  Say(%BEEP%*)
  707.  Log(--,%var%d Downloaded from Zip:%var%e.)
  708.  Log(--,Rate: %var%g CPS)
  709.  AppendTo(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
  710.  SetEqual(a=/:DOWNLOADS/)
  711.  inc(a)
  712.  SetEqual(/DOWNLOADS=%var%a)
  713.  If (%LOCAL%)=(TRUE) Then toglocal
  714.  Display (Display\SUCCESS)
  715.  Exec(del zvtemp <yes)
  716.  Enter
  717.  Goto (eloop)
  718.  
  719. *NOBAT
  720.  Say(&CR&&15&No batch protocols allowed for transfering this file.&CR&)
  721.  Goto (pickp)
  722.  
  723. *nsc
  724. toglocal
  725. goto (eloop)
  726.  
  727. *pause
  728. setequal(p=1)
  729. pauseprompt
  730. if (%ARESP%)=(STOP) then goto (elp)
  731. ret
  732. VIEWBCTL▒say(&CR&&3&Would you like to view the &11&bulletins menu&3&? &9&[   ]&14&*)
  733. back(4)
  734. yesnoask(*)
  735. if (%RESP%)=(No) then loadmem(control\main.mnu)
  736. loadmem(control\bullet.mnu)
  737. LOCKOUTCTLûLog (--,Locked out user (%var%d) attempted)  ;log info to callers log
  738. Log (--,to log onto the BBS.)
  739. Display(display\LOCKOUT)
  740. secpause(3)
  741. QuitBBS
  742. BADNAMECTLMDisplay(display\BADNAME)
  743. Log (--,Alias (%var%d) attempted logon.)
  744. QuitBBS
  745. BATCHCTL?Kill(Free.%NODE%,batch.%node%)
  746.  
  747.         *startbatch
  748. SetEqual(m=0)
  749. SetEqual(w=0)
  750. setequal(d=)
  751.  
  752.         *fname
  753. Say(&10&Pressing (&11&ENTER&10&) will allow you to start the download.)
  754. Say(&3&Please enter name of the file to download&12&: &14&(&F&12)&15&*)
  755. Back(13)
  756. MenuAsk%NOCR%%CRON%%LEN12%(*)
  757. if (%RESP%)=(<CR>) then Say ()
  758. If (%RESP%)=(<CR>) Then Goto (entpressed)
  759. len(%Resp%)
  760. Back(%ARESP%)
  761. AddDef(.%DEFEXT%)
  762. say (%Resp%)
  763. if (%Resp%)=(&d) then goto (ah)
  764. Say(&CR&&11&Please wait!... We're searching for the file...*)
  765. SeekFall(%RESP%)
  766. If (%ARESP%)=(INVALID) Then Goto (invfn)
  767. If (%ARESP%)=(No) Then Goto (nothere)
  768. If (%ARESP%)=(NOT ENOUGH) Then Goto (notenuf)
  769. If (%RATIO%)=(NOT OK) Then Goto (badratio)
  770. selFarea(%ARESP%)
  771. Size(%FILPATH%%RESP%)
  772. setequal(j=%aresp%)
  773. Say(Found!&CR&&CR&&14& ───────  &12&Statistics for %RESP% &14& ───────&15&)
  774. Say(Free Download: &11&%FREE% &15&*)
  775. If (%FREE%)=(No) Then Say( *)
  776. Say(&F&8&Size: &11&%ARESP% &15&)
  777. fDate(%FILPATH%%RESP%)
  778. Say(Dated: &11&%ARESP% &15&&F&9&Transfer Time: *)
  779. tTime(%var%J)
  780. Say(&11&%ARESP%&CR&)
  781. setequal(g=%ttim%)
  782. if (%FREE%)=(Yes) then setequal(g=0)
  783. AddVar(&m+&g=m)
  784. SetEqual(d=%RESP%)
  785.  
  786. AppendTo(free.%NODE%,%FREE%)
  787. IfTrue( AddVar(&m+-%TTIM%=m))
  788. AppendTo(batch.%NODE%,%FILPATH%%var%d)
  789. inc(w)
  790. Goto (fname)
  791.         
  792.         *initxfer
  793. CmpVal(%var%m,/:LEFT/)
  794. IfNotTrue( Goto (notenuftime))
  795. Say(&3&     Would you like to download these files? &9&[   ]&14&*)
  796. Back(4)
  797. YesNoAsk(*)
  798. If (%RESP%)=(No) Then Goto (ex)
  799. Say(&3&Would you like us to log you off afterwards? &9&[   ]&14&*)
  800. Back(4)
  801. YesNoAsk(*)
  802. SetEqual(m=%RESP%)
  803. Say(&CR&&11&We're sending the files you requested. Please get ready to receive them now.)
  804. FixFile(protocol\%var%b-d.bt,protocol\%var%b-d.bat)
  805. InitClock
  806. Exec(protocol\%var%b-d.BAT│)
  807. Kill(protocol\%var%b-d.bat)
  808.         
  809.         *success
  810. TogLocal
  811. NotIf (%ARESP%)=(0) Then Goto (aborted)
  812. XferTime
  813. SetEqual(e=%ARESP%)
  814. InpOpen(batch.%NODE%)
  815. If (%ARESP%)=(ERROR) Then Goto (dsucc)
  816. SetEqual(t=0)
  817. say()
  818. SetEqual(a=/:DOWNLOADS/)
  819. Kill(tagged.%NODE%)
  820. SetEqual(c=0)
  821.         
  822.         *stcalc
  823. inc(c)
  824. InpRead
  825. SetEqual(d=%ARESP%)
  826. Size(%var%d)
  827. AddVar(&t+%ARESP%=t)
  828. log(--,%var%d Downloaded (batch).)
  829. AppendTo(logs\DOWNLOAD.%NODE%,%var%d downloaded by %NAME% at %TIME% on %DATE%.)
  830. InpLine(free.%NODE%,%var%c)
  831. NotIf(%ARESP%)=(Yes) Then inc(a)
  832. Iftrue (Goto (fre))
  833. fEndIf(donecalc)
  834. Goto (stcalc)
  835.  
  836. *fre
  837. Size(%var%d)
  838. tTime(%ARESP%)
  839. AddVar(/:LEFT/+%TTIM%=a)
  840. SetEqual(/left=%var%a)
  841. fEndIf(donecalc)
  842. Goto (stcalc)
  843.  
  844.         *donecalc
  845. InpClose
  846. Say(%BEEP%)
  847. MultVar(%XMIN%*60=o)
  848. DivVar(&t/%var%o=g)
  849. CnvtK(%var%t)
  850. AddVar(%ARESP%+/:KDOWN/=o)
  851. SetEqual(/KDOWN=%var%o)
  852. SetEqual(/DOWNLOADS=%var%a)
  853. Log(--,Rate: %var%g CPS)
  854.         
  855.         *dsucc
  856. TogLocal
  857. Display (Display\SUCCESSB)
  858. if (%VAR%B)=(HS) then loadmem(control\hslink.ctl)
  859. If (&m)=(Yes) Then Goto (autooff)
  860.         
  861.         *ex
  862. Kill(free.%NODE%)
  863. SelFarea(/:LASTDOWN/)
  864. say()
  865. return
  866.         
  867.         *aborted
  868. TogLocal
  869. Log(--,Batch Download aborted.)
  870.         
  871.         *lcl
  872. Display (Display\ABORTED)
  873. Goto (ex)
  874.         
  875.         *badratio
  876. Display(Display\BADRATIO)
  877. SelFarea(/:LASTDOWN/)
  878. say()
  879. return
  880.         
  881.         *autooff
  882. loadmem(control\autoOff.ctl)
  883.         
  884.         *free
  885. Log(--,Freefile downloaded, time refunded.)
  886. AddVar(%XMIN%+%LEFT%=t)
  887. SetEqual(/LEFT=t)
  888. If (&m)=(Yes) Then Goto (autooff)
  889. Goto (ex)
  890.         
  891.         *Notenuf
  892. Display (Display\fbadsec)
  893. Goto (fname)
  894.         
  895.         *nothere
  896. Display(Display\notfnd)
  897. Goto (fname)
  898.         
  899.         *invfn
  900. Display(Display\INVALID)
  901. FlushOut
  902. SelFarea(/:LASTDOWN/)
  903. Enter
  904. Goto (fname)
  905.         
  906.         *entpressed
  907. say()
  908. If (&w)=(0) Then return
  909. Goto (initxfer)
  910.         
  911.         *notenuftime
  912. Display(Display\NODLTIME)
  913. Return
  914.  
  915. *ah
  916. Say(&CR&&12&That file is already in the download batch!&CR&)
  917. goto (fname)
  918. REFUSEDCTLºDisplay(display\REFUSED)    ;they don't want to become a member!!!!! ask why...
  919. Say (%hCyan%(                                                            )%White%*)
  920. Back (61) ;go back 61 spaces...
  921. Ask%MIN1%%LEN60% (*)
  922. Say (&CR&%Yellow%Thank you very much for your cooperation.&CR&)
  923. Log (--,User (%var%d) declined membership because:)
  924. Log (--,%RESP%)                         ;log to the callers log
  925. QuitBBS  ;Hang up
  926. GENTYP░*Disp
  927. SetActivity (Unnamed Menu)
  928. if(/EXPERT)=(Y) then linefeed(1)
  929. if(/EXPERT)=(Y) then Goto (Prompt)
  930. *sdisp
  931. Display (display\main,/:SEC/)
  932.  
  933. *Prompt
  934. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  935. BigIf (G:BYE,H:HELP,?:SDISP,X:EXP)
  936. Goto (bsel)
  937.  
  938. *bSel
  939. LoadSub(control\macros\badsel.ctl) ;invalid selection
  940. Goto (disp)
  941.  
  942. *BYE
  943. EnufSec(10)
  944. IfNotTrue(Goto(BSel))
  945. LoadSub(CONTROL\MACROS\BYE.CTL)
  946. Goto(Disp)
  947.  
  948. *HELP
  949. EnufSec(10)
  950. IfNotTrue(Goto(BSel))
  951. Display(display\help\main,/:SEC/)
  952. Log (--,Viewed Main Menu Help)
  953. Goto (Disp)
  954.  
  955. *EXP
  956. EnufSec(10)
  957. IfNotTrue(Goto(BSel))
  958. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  959. Goto(Disp)
  960. BULLETMNU%*Disp
  961. SetActivity (Bulletins Menu)
  962. if (/EXPERT)=(Y) then linefeed(1)
  963. If (/EXPERT)=(Y) Then Goto(prompt)
  964. *Sdisp
  965. Display (Display\blt,/:SEC/)
  966.  
  967. *Prompt
  968. Jump (pauseprompt)
  969. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  970. BigIf (Q:LOADMAIN,G:GOODBYE,X:EXPERT,H:HELP,?:SDISP,N:NEW)
  971. Number(%RESP%) ;is it a number?!
  972. IfNotTrue ( Goto (bsel))
  973. Log(--,Bulletin %RESP% Read.)
  974. Display (Display\Bull%RESP%)
  975. enter
  976. goto (disp)
  977.  
  978. *bsel
  979. LoadSub(control\macros\badsel.ctl)
  980. Goto (disp)
  981.  
  982. *pauseprompt
  983. DefPause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  984. DefPif(s:stop,n:nonstop,g:goodbye)   ;define our pause prompt...
  985. ret
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000. *LOADMAIN
  1001. LoadMem(CONTROL\MAIN.MNU)
  1002.  
  1003. *GOODBYE
  1004. LoadSub(CONTROL\MACROS\BYE.CTL)
  1005. Goto(Disp)
  1006.  
  1007. *EXPERT
  1008. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1009. Goto(Disp)
  1010.  
  1011. *HELP
  1012. Display(Display\help\BULL,/:SEC/)
  1013. Log (--,Viewed Bulletins Menu Help)
  1014. Goto (Disp)
  1015.  
  1016. *NEW
  1017. LoadSub(CONTROL\MACROS\NEWBULL.CTL)
  1018. Goto(Disp)
  1019. BADPASSCTL)Log (--,User (%var%d) entered an invalid)
  1020. Log (--,password 4 times.)
  1021. if (%BPComment%)=(No) then QuitBBS ;BPComment is set via PBConfig
  1022. SetEqual (q=10)
  1023. Display (display\badpass)
  1024. SetEqual (b=Password Failure)
  1025. LoadSub(control\macros\comment.ctl,goto (stc))
  1026. Display(display\BADPASS2)
  1027. QuitBBS
  1028. QUESTYP0*disp
  1029. setactivity(Quest. Menu)
  1030. if (/Expert)=(Y) then linefeed(1)
  1031. if (/EXPERT)=(Y) then goto (prompt)
  1032. *sdisp
  1033. display (display\ques,/:SEC/)
  1034.  
  1035. *prompt
  1036. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  1037. BigIf (g:goodbye,q:main,h:help,?:sdisp,x:exp)
  1038.  
  1039. number(%RESP%)
  1040. if (%ARESP%)=(No) then goto (bsel)
  1041. say(&7&)
  1042. seek(ques\QUEST%RESP%.que)
  1043. if (%ARESP%)=(No) then goto (bsel)
  1044.  
  1045. loadsub(ques\QUEST%RESP%.que)
  1046. goto (disp)
  1047.  
  1048. *main
  1049. loadmem(control\MAIN.MNU)
  1050.  
  1051. *exp
  1052. loadsub(control\macros\expert.ctl)
  1053. goto (disp)
  1054.  
  1055. *help
  1056. log(--,Viewing Quest. Menu Help)
  1057. display (display\help\ques,/:SEC/)
  1058. goto (disp)
  1059.  
  1060. *goodbye
  1061. enufsec(10)
  1062. IfNotTrue (goto (bsel))
  1063. loadsub(control\macros\bye.ctl)
  1064. goto (disp)
  1065.  
  1066. *bsel
  1067. loadsub(control\macros\badsel.ctl)
  1068. goto (disp)
  1069. DPHONECTLôlog(!!,User attempted logon with active)
  1070. log(!!,user's phone number (/:phone/))
  1071. appendto(badnames.bbs,%NAME%)
  1072. display(display\dphone)
  1073. quitbbs
  1074. DOORSDEF Test Door
  1075. DOORSTYP¢*disp
  1076. SetActivity (Doors Menu)
  1077. if (/Expert)=(Y) then linefeed(1)
  1078. if (/EXPERT)=(Y) then goto (prompt)
  1079.  
  1080. *sdisp
  1081. Display (display\doors,/:SEC/)
  1082.  
  1083. *prompt
  1084. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  1085. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  1086. number(%RESP%)
  1087. ifNotTrue( goto (bsel))
  1088. seek(door%RESP%.Bat)
  1089. ifnottrue(goto (bsel))
  1090. Display(Display\door%RESP%)
  1091. Log(--,Executing Door #%RESP%)
  1092. FixFile (door.bt,door.bat)
  1093. Say(&14&&CR&Please wait, Opening Door #%resp% . . .*)
  1094. Exit (80,door|)
  1095.  
  1096. *bsel
  1097. loadsub(control\macros\badsel.ctl)
  1098. goto (disp)
  1099.  
  1100. *GOODBYE
  1101. EnufSec(10)
  1102. IfNotTrue(Goto(BSel))
  1103. LoadSub(CONTROL\MACROS\BYE.CTL)
  1104. Goto(Disp)
  1105.  
  1106. *MAIN
  1107. LoadMem(CONTROL\MAIN.MNU)
  1108.  
  1109. *HELP
  1110. EnufSec(10)
  1111. IfNotTrue(Goto(BSel))
  1112. Display(display\help\door,/:SEC/)
  1113. Log (--,Viewed Doors Menu Help)
  1114. Goto (Disp)
  1115.  
  1116. *EXP
  1117. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1118. Goto(Disp)
  1119. UEDIT4CTL£*StUedit4
  1120.  
  1121.  BigIf (O:ChgTOn,R:ChgComp,A:ChgDrops,W:ChgWrk,I:ChgSub,X:ChgSDate,V:ChgAvail)
  1122. *ChgTOn
  1123.  AnsiGoto (21,17)
  1124.  ;Goes to the location 21,17 on the screen. (21 characters over, 17 down)
  1125.  ask (&15&Enter New Times On: &2&*)
  1126.  Number (%RESP%)
  1127.  IfNotTrue (goto (BadTOn))
  1128.  SetEqual (>TIMESON=%RESP%)
  1129.  Goto (DoIt)
  1130.  
  1131. *BadTOn
  1132.  AnsiGoto (21,17)
  1133.  Say (&4&Bad Times On Value, Not a Number.*)
  1134.  SecPause (2)
  1135.  AnsiGoto (21,17)
  1136.  Say (                                 )
  1137.  Goto (ChgTOn)
  1138.  
  1139. *ChgComp
  1140.  AnsiGoto (21,17)
  1141.  ask (&15&Enter New Computer Using: &2&*)
  1142.  SetEqual (>COMP=%RESP%)
  1143.  Goto (DoIt)
  1144.  
  1145. *ChgDrops
  1146.  AnsiGoto (21,17)
  1147.  Say (&15&Enter New Carrier Dropped Times:                        &2&*)
  1148.  AnsiGoto (54,17)
  1149.  Ask (*)
  1150.  Number (%RESP%)
  1151.  IfNotTrue (goto (BadDrops))
  1152.  SetEqual (>DROPPED=%RESP%)
  1153.  Goto (DoIt)
  1154.  
  1155. *BadDrops
  1156.  AnsiGoto (21,17)
  1157.  Say (&4&Bad Carrier Dropped Amount, Not a Number.*)
  1158.  SecPause (2)
  1159.  AnsiGoto (21,17)
  1160.  Say (                                         )
  1161.  Goto (ChgDrops)
  1162.  
  1163. *ChgWrk
  1164.  AnsiGoto (21,16)
  1165.  Say (&12&Enter New Work Phone Number: &2&)
  1166.  AnsiGoto (27,17)
  1167.  Picture (###-###-####)
  1168.  SetEqual (>WORK=%RESP%)
  1169.  Goto (DoIt)
  1170.  
  1171. *ChgSub
  1172.  AnsiGoto (25,17)
  1173.  yesnoask (&12&Subscriber? &2&*)
  1174.  SetEqual (>SUB=%RESP%)
  1175.  Goto (DoIt)
  1176.  
  1177. *ChgSDate
  1178.  AnsiGoto (21,16)
  1179.  Say (&12&Enter New Subscription Expiration Date: &2&*)
  1180.  AnsiGoto (25,17)
  1181.  Picture (##-##-##)
  1182.  SetEqual (>SUBDATE=%RESP%)
  1183.  Goto (DoIt)
  1184.  
  1185. *ChgAvail
  1186.  AnsiGoto (21,17)
  1187.  YesNoAsk (&12&Default User Available For Chat: &2&*)
  1188.  SetEqual (>DEFAVAIL=%RESP%)
  1189.  Goto (DoIt)
  1190.  
  1191. *DoIt
  1192.  SetEqual (e=1)
  1193.  SetEqual (w=1)
  1194.  SaveUser (%var%z)
  1195.  Loadmem (control\uedit2.ctl,goto(clearinfo))
  1196. DOORBACKCTLinpline(pbdoor.%Node%,6)
  1197.   DoorBack(%ARESP%,Back from Door program)  ;get their name from PBDOOR.node
  1198.  
  1199. selarea(/:lastmsg/)
  1200. ListFile (areas\farea/:LASTMSG/)
  1201. selfarea(/:lastdown/)
  1202. Kill (pbdoor.%NODE%)
  1203. Display (display\back)
  1204. LoadMem (control\doors.MNU)
  1205. HSLINKCTLflushout
  1206. exec(zc\adir hstemp%NODE%\*.* >hslst.%NODE%)
  1207. inpclose
  1208. inpopen(hslst.%NODE%)
  1209.  
  1210.   setequal(t=0)
  1211.   linefeed(1)
  1212.   setequal(a=/:UPLOADS/)
  1213.   clearmem
  1214.   setequal(c=0)
  1215.  
  1216. *stcalc
  1217.   inpread
  1218.   setequal(d=%ARESP%)
  1219.   iseek(%var%d)
  1220.   iftrue(goto (nfile))
  1221.   if (&D)=() then goto (Nfile)
  1222.   fcopy(hstemp%NODE%\%var%d,files\uploads\%var%d)
  1223.   size(files\uploads\%var%d)
  1224.   addvar(%var%t+%ARESP%=t)
  1225.   cnvtk(%ARESP%)
  1226.   addvar(%ARESP%+/:KUP/=o)
  1227.   setequal(/KUP=%var%o)
  1228.   multvar(%var%c*3=y)
  1229.   say(&7&&CR&%var%d&CR&)
  1230.   say(&14&Please enter a description for your file.  &10&The description can take up 3 lines.&CR&&CR&&15&   (----2----3----4----5----6----7---8----))
  1231.   resetwrap
  1232.   clearmem
  1233.   wrapask %MIN1%%LEN40%(&3&1&12&: &15&*)
  1234.   setequal(^1=%RESP%)
  1235.   wrapask %LEN40%%CRON%(&3&2&12&: &15&*)
  1236.   if (%RESP%)=(<CR>) then goto (nomore)
  1237.   setequal(^2=%RESP%)
  1238.   ask %LEN39%(&3&3&12&: &15&*)
  1239.   setequal(^3=%RESP%)
  1240.   *nomore
  1241.   file(files\uploads\,%var%d,3)
  1242.   log(--,%var%d Uploaded (HSLINK).)
  1243.   appendto(logs\UPLOAD.%NODE%,%var%d uploaded at %TIME% on %DATE% by %NAME%.)
  1244.   inc(c)
  1245.   *nfile
  1246.   kill(hstemp%NODE%\%var%d)
  1247.   fendif(donecalc)
  1248.   goto (stcalc)
  1249.  
  1250. *donecalc
  1251.   inpclose
  1252.   inc(c)
  1253.   say(%BEEP%)
  1254.   multvar(%XMIN%*60=o)
  1255.   divvar(%var%t/%var%o=g)
  1256.   setequal(/UPLOADS=%var%a)
  1257. return
  1258. SYSOPMNU;*disp
  1259. SetActivity (Sysop Menu)
  1260. if (/EXPERT)=(Y) then goto (prompt)
  1261. *sdisp
  1262. Display (display\SYSOP,/:SEC/)
  1263.  
  1264. *prompt
  1265. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  1266. BigIf (G:GOODBYE,H:HELP,?:SDISP,X:EXP,V:VIEWLOG,S:SHELL,K:KILL,D:DOWN,O:VNO,Q:QT,F:FIL,M:MS,E:ED)
  1267. goto (badsel)
  1268.  
  1269. *badsel
  1270. loadsub(control\macros\badsel.ctl)
  1271. goto (disp)
  1272.  
  1273. *GOODBYE
  1274. LoadSub(CONTROL\MACROS\BYE.CTL)
  1275. Goto(Disp)
  1276.  
  1277. *HELP
  1278. Display(display\help\SYSOP,/:SEC/)
  1279. Log (--,Viewed Sysop Menu Help)
  1280. Goto (Disp)
  1281.  
  1282. *EXP
  1283. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  1284. Goto(Disp)
  1285.  
  1286. *VIEWLOG
  1287. LoadSub(CONTROL\MACROS\VIEWLOGS.CTL)
  1288. Goto(Disp)
  1289.  
  1290. *SHELL
  1291. EnufSec(100)
  1292. IfNotTrue(Goto(BSel))
  1293. LoadSub(CONTROL\MACROS\SHELL.CTL)
  1294. Goto(Disp)
  1295.  
  1296. *KILL
  1297. LoadSub(CONTROL\MACROS\KILLNODE.CTL)
  1298. Goto(Disp)
  1299.  
  1300. *DOWN
  1301. LoadSub(CONTROL\MACROS\NODEDOWN.CTL)
  1302. Goto(Disp)
  1303.  
  1304. *VNO
  1305. LoadSub(CONTROL\MACROS\VIEWNODE.CTL)
  1306. Goto(Disp)
  1307.  
  1308. *QT
  1309. LoadMem(CONTROL\MAIN.MNU)
  1310.  
  1311. *FIL
  1312. LoadMem(CONTROL\FILES.MNU)
  1313.  
  1314. *MS
  1315. LoadMem(CONTROL\MESS.MNU)
  1316.  
  1317. *ED
  1318. LoadSub(CONTROL\UEDIT.CTL)
  1319. Goto(Disp)
  1320. MSCANCTL_Say(&CR&%hWhite%Please wait while we scan the message area for new mail addressed to you...%Yellow%&CR&)
  1321. Clearmem
  1322. EraseVar
  1323. Say(Scanning...%White%)
  1324.  
  1325. Zap(lconf.%NODE%,/:lastmsg/)
  1326. ClearMem
  1327.  
  1328. SetEqual(h=0)
  1329.  
  1330. *stscan
  1331. inc(h)
  1332. SelArea(%var%h)
  1333.  
  1334. EnufSec(%AREASEC%)
  1335. ifnottrue(Goto (chkeof))
  1336.  
  1337. eLine(60)
  1338. Say(Checking area %var%h: %AREANAME%|)
  1339. Scan(%var%h,%NAME%,%NDNUMB%)
  1340. IfTrue (goto (yesmail))
  1341.  
  1342. *chkeof
  1343. If (&h)=(%MAXAREA%) Then goto (firstmn)
  1344. Goto (stscan)
  1345.  
  1346. *FIRSTMN
  1347. InpLine(lconf.%NODE%,1)
  1348. SetEqual (/lastmsg=%ARESP%)
  1349. SelArea(/:LASTMSG/)
  1350.  
  1351. Say(%Yellow%&CR&&CR&Message scan complete!)
  1352. SetEqual (/WAIT=N)
  1353. Kill(lconf.%NODE%)
  1354.  
  1355. LoadMem(control\bullets.ctl)
  1356.  
  1357. *yesmail
  1358. SetEqual (/lastmsg=%var%h)
  1359. Say(&CR&&15&Mail has been found for you in the&9& %AREANAME% %hWhite%conference!%hWhite%)
  1360. SetEqual(u=2)
  1361. notif (^2)=() then goto (ym1)
  1362. say(&10&Message number &11&^:1^)
  1363. goto (bymail)
  1364. *ym1
  1365. say(&10&Message numbers:&11&&CR&^:1^*)
  1366. *ymail
  1367. if (^%var%u)=() then Goto (bym2)
  1368. Say(, ^:u^*)
  1369. inc(u)
  1370. Goto (ymail)
  1371. *bym2
  1372. linefeed(1)
  1373. *bymail
  1374. Zap(hi.%NODE%,%var%h)
  1375. Say(&CR&%Cyan%Would you like to read these messages? &9&[   ]%hWhite%*)
  1376. back(4)
  1377. YesNoAsk(*)
  1378. If (%RESP%)=(Yes) Then Goto (Rmail)
  1379. *back
  1380. InpLine(hi.%NODE%,1)
  1381. SetEqual(h=%ARESP%)
  1382. ClearScr
  1383. InitTxt
  1384. ClearMem
  1385. Say(%Yellow%&CR&Scanning...%White%)
  1386. ClearMem
  1387. SetActivity(Logging on...)
  1388. Goto (chkeof)
  1389. *Rmail
  1390. Say(&CR&%hCyan%Please wait while we retrieve your mail...*)
  1391. SetEqual(r=10)
  1392. SetEqual(y=^:1^)
  1393. himsg(/:LASTMSG/)
  1394. SetEqual(f=%ARESP%)
  1395. lowmsg(/:lastmsg/)
  1396. SetEqual(n=%ARESP%)
  1397. SetEqual(u=1)
  1398. Loadsub(control\READ.CTL,Goto (repeat))
  1399. goto (back)
  1400. AUTOOFFCTL╧
  1401. Seek(tagged.%NODE%)
  1402. IfTrue(say(&10&%beep%%beep%You have files tagged for download!))
  1403. say(&CR&&11&You have requested an auto-logoff.  This call will be terminated in 30 seconds.)
  1404. say(&14&Hit (CTRL-K) to abort or (H) to hang up now.*)
  1405.  
  1406. SetEqual(n=0)
  1407.  
  1408. *begin
  1409. do
  1410. jump(rkeytst)
  1411. secpause(1)
  1412. localkey(1)
  1413. ifnottrue(goto (psa))
  1414. If (%ARESP%)=(H) Then Goto (off)
  1415. if (%ARESP%)=(h) then goto (off)
  1416. If (%ARESP%)=( ) Then Goto (ex)
  1417. *psa
  1418. jump(rkeytst)
  1419. inc(n)
  1420. say(.*)
  1421. If (&n)=(30) Then Goto (off)
  1422. loop
  1423.  
  1424. *off
  1425. log(<<,Downloaded file, Auto-logoff)
  1426. Display(Display\goodbye)
  1427. quitbbs
  1428.         
  1429. *ex
  1430. selfarea(/:lastdown/)
  1431. say()
  1432. return
  1433.  
  1434. *rkeytst
  1435. ifkey(H)
  1436. iftrue(goto (off))
  1437. ifkey( )
  1438. iftrue(goto (ex))
  1439. ret
  1440. SELFILEACTL$*lista
  1441. NotIf (/SEC)=(100) then display(%FAREA%)
  1442. If (/SEC)=(100) then goto (sysv)
  1443.  
  1444. *start
  1445. menuask%cron%(&CR&&3&Please enter the area number to search &11&(ENTER=All,?=Redisplay)&12&: &15&*)
  1446. if (%resp%)=(<CR>) then return
  1447. if (%resp%)=(?) then goto (lista)
  1448. number(%resp%)
  1449. ifnottrue (return)
  1450. cmpvalo(%maxfarea%,%resp%)
  1451. iftrue(return)
  1452. selfarea(%resp%)
  1453. cmpval(%sec%,%filsec%)
  1454. iftrue(return)
  1455. setequal(g=%resp%)
  1456. setequal(f=%resp%)
  1457. return
  1458.  
  1459.  
  1460. *sysv
  1461. seek(%FAREA%.100)
  1462. iftrue(view(%FAREA%.100))
  1463. ifnottrue(display(%FAREA%))
  1464. goto (start)
  1465. BULLETSCTLiIf (%NEWSEC%)=(/SEC) Then Welcome(display\NEWUSER)
  1466. Get(/:BIRTH/,1,6)
  1467. SetEqual(a=%ARESP%)
  1468. Get(%DATE%,1,6)
  1469. If (&a) = (%ARESP%) Then LoadSub(control\birth.ctl)
  1470.         
  1471.         *BLT2
  1472. Display (Display\%NDNUMB%)
  1473. Welcome(Display\WELCOME)
  1474. NotIf (/LAST)=(%DATE%) Then Welcome (Display\OneAday)
  1475. seek(areas\news/:lastmsg/.asc)
  1476. iftrue(loadsub(control\macros\cnfnews.ctl))
  1477. If (/EXPERT)=(Y) Then Display (Display\EXPERT)
  1478. Seek(logon.bat)
  1479. IfTrue (Exec(logon.bat))
  1480. if (%Event%)=(TRUE) then display(display\event)
  1481. LoadSub(Control\Macros\Newbull.ctl)
  1482. IfNotTrue( LoadMem(control\Main.mnu))
  1483. LoadMem(Control\ViewB.ctl)
  1484. NOCTLulog(<<,Excessive logon attempts!)
  1485. say(&12&&CR&Excessive unsuccessful logon attempts!)
  1486. secpause(1)
  1487. say()
  1488. quitbbs
  1489. UEDIT2CTL╚*StUEdit2
  1490.  
  1491. *Selection
  1492.  Numbusers
  1493.  SetEqual (j=%ARESP%)
  1494.  If (&f)=(1) then goto (Edit)
  1495.  If (&f)=(5) then loadmem(control\uedit3.ctl,goto(stUedit3))
  1496.  If (&f)=(6) then goto (quit)
  1497.  LoadMem(control\uedit.ctl,goto(badsel))
  1498.  
  1499. *ClearInfo
  1500.  AnsiGoto (11,1)
  1501.  Say (                             *)
  1502.  AnsiGoto (11,2)
  1503.  Say (                             *)
  1504.  AnsiGoto (11,3)
  1505.  Say (                        )
  1506.  AnsiGoto (11,4)
  1507.  Say (               *)
  1508.  AnsiGoto (11,5)
  1509.  Say (    *)
  1510.  AnsiGoto (11,6)
  1511.  Say (                    *)
  1512.  AnsiGoto (11,7)
  1513.  Say (     *)
  1514.  AnsiGoto (11,8)
  1515.  Say (                              *)
  1516.  AnsiGoto (11,9)
  1517.  Say (     *)
  1518.  AnsiGoto (11,10)
  1519.  Say (     *)
  1520.  AnsiGoto (11,11)
  1521.  Say (     *)
  1522.  AnsiGoto (11,12)
  1523.  Say (     *)
  1524.  AnsiGoto (51,1)
  1525.  Say (        *)
  1526.  AnsiGoto (51,2)
  1527.  Say (     *)
  1528.  AnsiGoto (51,3)
  1529.  Say (                    *)
  1530.  AnsiGoto (51,4)
  1531.  Say (     *)
  1532.  AnsiGoto (51,5)
  1533.  Say (               *)
  1534.  AnsiGoto (51,6)
  1535.  Say (  *)
  1536.  AnsiGoto (51,7)
  1537.  Say (        *)
  1538.  AnsiGoto (51,9)
  1539.  Say (  *)
  1540.  LoadUser (%var%z)
  1541.  SetEqual (x=0)
  1542.  LoadMem (Control\uedit.ctl,goto(putinfo))
  1543.  
  1544. *Edit
  1545.  If (&w)=(1) then goto (GetInput)
  1546.  AnsiGoto (2,15)
  1547.  Say (      *)
  1548.  AnsiGoto (30,15)
  1549.  Say (              *)
  1550.  AnsiGoto (2,16)
  1551.  Say (              *)
  1552.  AnsiGoto (30,16)
  1553.  Say (         *)
  1554.  AnsiGoto (2,17)
  1555.  Say (            *)
  1556.  AnsiGoto (30,17)
  1557.  Say (             *)
  1558.  AnsiGoto (2,18)
  1559.  Say (                *)
  1560.  AnsiGoto (30,18)
  1561.  Say (         *)
  1562.  AnsiGoto (30,19)
  1563.  Say (               *)
  1564.  AnsiGoto (30,20)
  1565.  Say (                  *)
  1566.  AnsiGoto (1,1)
  1567.  Say (&15&N&7&ame)
  1568.  Say (&15&S&7&treet)
  1569.  Say (&15&F&7&rom)
  1570.  Say (&7&P&15&h&7&one)
  1571.  Say (&7&Se&15&c)
  1572.  Say (&15&P&7&asswd)
  1573.  Say (&15&T&7&imeLeft)
  1574.  Say (&15&M&7&emo)
  1575.  Say (&15&D&7&ownlds)
  1576.  Say (&15&U&7&ploads)
  1577.  Say (&15&K&7&Dled)
  1578.  Say (&7&KU&15&l&7&ed*)
  1579.  AnsiGoto (40,1)
  1580.  Say (&15&B&7&irthdate*)
  1581.  AnsiGoto (41,2)
  1582.  Say (&7&Times &15&O&7&n*)
  1583.  AnsiGoto (35,3)
  1584.  Say (&7&Compute&15&r&7& Using*)
  1585.  AnsiGoto (36,4)
  1586.  Say (&7&C&15&a&7&rrier Drops*)
  1587.  AnsiGoto (39,5)
  1588.  Say (&15&W&7&ork Phone*)
  1589.  AnsiGoto (39,6)
  1590.  Say (&7&Subscr&15&i&7&ber*)
  1591.  AnsiGoto (37,7)
  1592.  Say (&7&Sub Date E&15&x&7&p*)
  1593.  AnsiGoto (35,9)
  1594.  Say (&7&A&15&v&7&ail For Chat*)
  1595. *GetInput
  1596.  AnsiGoto (20,17)
  1597.  Say ($0$&12&Select Category to Modify (Q to Quit): &15&*)
  1598.  Menukey
  1599.  BigNiceSay (N:Name,S:Street,F:From,H:Phone,C:Sec,P:Passwd,T:TimeLeft)
  1600.  BigNiceSay (M:Memo,D:Downlds,U:Uploads,K:KDled,L:KUled,B:Birthdate,O:Times On)
  1601.  BigNiceSay (R:Comp Using,A:Carrier Drops,W:Work Phone,I:Subscriber,X:SubDate Exp,Q:Quit)
  1602.  AnsiGoto (20,17)
  1603.  Say (                                                  *)
  1604.  BigIf (N:ChgName,S:ChgSt,F:ChgFrom,H:ChgPhone,C:ChgSec,P:ChgPass,T:ChgTL,M:ChgMemo,D:ChgDls,U:ChgUls,K:ChgDlk,L:ChgUlk,B:ChgBday)
  1605.  BigIf (Q:NoMore)
  1606.  BigLoad (O:control\uedit4.ctl,R:control\uedit4.ctl,A:control\uedit4.ctl,W:control\uedit4.ctl,I:control\uedit4.ctl,X:control\uedit4.ctl,Q:control\uedit4.ctl,v:control\uedit4.ctl)
  1607.  LoadMem (Control\uedit.ctl,goto(badsel))
  1608.  
  1609. *NoMore
  1610.  SaveUser (%var%z)
  1611.  SetEqual (e=0)
  1612.  SetEqual (w=0)
  1613.  Loadmem (control\uedit.ctl,goto(moreedit))
  1614.  
  1615. *ChgName
  1616.  AnsiGoto (24,17)
  1617.  Say (&15&Enter New Name :                   &2&*)
  1618.  AnsiGoto (41,17)
  1619.  Ask (*)
  1620.  SetEqual (>NAME=%RESP%)
  1621.  SetEqual (e=1)
  1622.  SetEqual (w=1)
  1623.  SaveUser (%var%z)
  1624.  Goto (ClearInfo)
  1625.  
  1626. *ChgSt
  1627.  AnsiGoto (20,17)
  1628.  Say (&15&Enter New Street:                  &2&*)
  1629.  AnsiGoto (38,17)
  1630.  Ask (*)
  1631.  SetEqual (>STREET=%RESP%)
  1632.  SetEqual (e=1)
  1633.  SetEqual (w=1)
  1634.  SaveUser (%var%z)
  1635.  Goto (ClearInfo)
  1636.  
  1637. *ChgFrom
  1638.  AnsiGoto (19,17)
  1639.  Say (&15&Enter New User From :              &2&*)
  1640.  AnsiGoto (41,17)
  1641.  Ask (*)
  1642.  SetEqual (>FROM=%RESP%)
  1643.  SetEqual (e=1)
  1644.  SetEqual (w=1)
  1645.  SaveUser (%var%z)
  1646.  Goto (ClearInfo)
  1647.  
  1648. *ChgPhone
  1649.  AnsiGoto (25,16)
  1650.  Say (&15&Enter New Phone Number :           &2&)
  1651.  AnsiGoto (29,17);
  1652.  Picture(###-###-####)
  1653.  setequal(>PHONE=%RESP%)
  1654.  SetEqual (e=1) 
  1655.  SetEqual (w=1)
  1656.  SaveUser (%var%z)
  1657.  Goto (ClearInfo)
  1658.  
  1659. *ChgSec
  1660.  AnsiGoto (24,17)
  1661.  Ask (&15&Enter New Security: &2&*)
  1662.  Number (%RESP%)
  1663.  IfNotTrue(goto (badsec))
  1664.  SetEqual (>SEC=%RESP%)
  1665.  SetEqual (e=1)
  1666.  SetEqual (w=1)
  1667.  SaveUser (%var%z)
  1668.  Goto (ClearInfo)
  1669.  
  1670. *badsec
  1671.  AnsiGoto (20,17)
  1672.  Say (                                                  *)
  1673.  AnsiGoto (25,17)
  1674.  Say (&4&Bad Security-- Not a Number.*)
  1675.  SecPause (2)
  1676.  AnsiGoto (20,17)
  1677.  Say (                                                  *)
  1678.  Goto (ChgSec)
  1679.  
  1680. *ChgComp
  1681.  AnsiGoto (20,17)
  1682.  Ask (&15&Enter New Computer Using: &2&*)
  1683.  SetEqual (>COMP=%RESP%)
  1684.  SetEqual (e=1)
  1685.  SetEqual (w=1)
  1686.  SaveUser (%var%z)
  1687.  Goto (ClearInfo)
  1688.  
  1689. *ChgTL
  1690.  AnsiGoto (24,17)
  1691.  Ask (&15&Enter New Time Left: &2&*)
  1692.  Number (%RESP%)
  1693.  IfNotTrue (goto (badtl))
  1694.  SetEqual (>LEFT=%RESP%)
  1695.  SetEqual (e=1)
  1696.  SetEqual (w=1)
  1697.  SaveUser (%var%z)
  1698.  Goto (ClearInfo)
  1699.  
  1700. *badtl
  1701.  AnsiGoto (20,17)
  1702.  Say (                                                  *)
  1703.  AnsiGoto (20,17)
  1704.  Say (&4&Bad Time Left Value-- Not a Number.*)
  1705.  SecPause (2)
  1706.  AnsiGoto (20,17)
  1707.  Say (                                                  *)
  1708.  Goto (ChgTL)
  1709.  
  1710. *ChgPass
  1711.  AnsiGoto (24,17)
  1712.  Ask (&15&Enter New Password: &2&*)
  1713.  SetEqual (>PASS=%RESP%)
  1714.  SetEqual (e=1)
  1715.  SetEqual (w=1)
  1716.  SaveUser (%var%z)
  1717.  Goto (ClearInfo)
  1718.  
  1719. *ChgMemo
  1720.  AnsiGoto (20,17)
  1721.  Ask (&15&Enter New Memo: &2&*)
  1722.  SetEqual (>MEMO=%RESP%)
  1723.  SetEqual (e=1)
  1724.  SetEqual (w=1)
  1725.  SaveUser (%var%z)
  1726.  Goto (ClearInfo)
  1727.  
  1728. *ChgDls
  1729.  AnsiGoto (20,17)
  1730.  Ask (&15&Enter New Number of Downloads: &2&*)
  1731.  Number (%RESP%)
  1732.  IfNotTrue (goto (baddls))
  1733.  SetEqual (>DOWNLOADS=%RESP%)
  1734.  SetEqual (e=1)
  1735.  SetEqual (w=1)
  1736.  SaveUser (%var%z)
  1737.  Goto (ClearInfo)
  1738.  
  1739. *baddls
  1740.  AnsiGoto (20,17)
  1741.  Say (                                                  *)
  1742.  AnsiGoto (20,17)
  1743.  Say (&4&Bad Number of Downloads-- Not a Number.*)
  1744.  SecPause (2)
  1745.  AnsiGoto (20,17)
  1746.  Say (                                                  *)
  1747.  Goto (ChgDls)
  1748.  
  1749. *ChgUls
  1750.  AnsiGoto (20,17)
  1751.  Ask (&15&Enter New Number of Uploads: &2&*)
  1752.  Number (%RESP%)
  1753.  IfNotTrue (goto (baduls))
  1754.  SetEqual (>UPLOADS=%RESP%)
  1755.  SetEqual (e=1)
  1756.  SetEqual (w=1)
  1757.  SaveUser (%var%z)
  1758.  Goto (ClearInfo)
  1759.  
  1760. *baduls
  1761.  AnsiGoto (20,17)
  1762.  Say (                                                  *)
  1763.  AnsiGoto (20,17)
  1764.  Say (&4&Bad Number of Uploads-- Not a Number.*)
  1765.  SecPause (2)
  1766.  AnsiGoto (20,17)
  1767.  Say (                                                  *)
  1768.  Goto (ChgUls)
  1769.  
  1770. *ChgDlK
  1771.  AnsiGoto (21,17)
  1772.  Ask (&15&Enter New Download K: &2&*)
  1773.  Number (%RESP%)
  1774.  IfNotTrue (goto (baddlk))
  1775.  SetEqual (>KDOWN=%RESP%)
  1776.  SetEqual (e=1)
  1777.  SetEqual (w=1)
  1778.  SaveUser (%var%z)
  1779.  Goto (ClearInfo)
  1780.  
  1781. *baddlk
  1782.  AnsiGoto (20,17)
  1783.  Say (                                                  *)
  1784.  AnsiGoto (20,17)
  1785.  Say (&4&Bad Download K Value-- Not a Number.*)
  1786.  SecPause (2)
  1787.  AnsiGoto (20,17)
  1788.  Say (                                                  *)
  1789.  Goto (ChgDlk)
  1790.  
  1791. *ChgUlK
  1792.  AnsiGoto (21,17)
  1793.  Ask (&15&Enter New Upload K: &2&*)
  1794.  Number (%RESP%)
  1795.  IfNotTrue (goto (badulk))
  1796.  SetEqual (>KUP=%RESP%)
  1797.  SetEqual (e=1)
  1798.  SetEqual (w=1)
  1799.  SaveUser (%var%z)
  1800.  Goto (ClearInfo)
  1801.  
  1802. *ChgBday
  1803.  AnsiGoto (21,16)
  1804.  Say (&15&Enter New Birthday: &2&*)
  1805.  AnsiGoto (25,17)
  1806.  Picture (##-##-##)
  1807.  SetEqual (>BIRTH=%RESP%)
  1808.  SetEqual (e=1)
  1809.  SetEqual (w=1)
  1810.  SaveUser (%var%z)
  1811.  Goto (ClearInfo)
  1812.  
  1813. *badulk
  1814.  AnsiGoto (20,17)
  1815.  Say (                                                  *)
  1816.  AnsiGoto (20,17)
  1817.  Say (&4&Bad Upload K Value-- Not a Number.*)
  1818.  SecPause (2)
  1819.  AnsiGoto (20,17)
  1820.  Say (                                                  *)
  1821.  Goto (ChgUlk)
  1822. BIRTHCTL(Display (display\b-day)
  1823. Enter
  1824. Return
  1825. NEWUSERCTLN clearscr
  1826. say(&CR&&10&You will have 2 lines for your full address.  The first line for your street&CR&and the second line for your City and State.)
  1827. setactivity(New-user Logon...)
  1828. log(==,New User (%var%D) Registering...)
  1829. setequal(>NAME=%var%D)
  1830. setequal(>LAST=%DATE%)
  1831. setequal(>LASTCHK=%DATE%)
  1832. setequal(t=0)
  1833.  
  1834.         *street
  1835. ask %MIN1%(&CR&&3&Please enter your &11&street&3& address&12&: &15&*)
  1836. setequal(>STREET=%RESP%)
  1837.  
  1838.         *city
  1839. ask %MIN1%%LEN40%(&CR&&3&Please enter the &11&City, State&3& that you're calling from&12&: &15&*)
  1840. setequal(/FROM=%RESP%)
  1841. setequal(>FROM=%RESP%)
  1842. if (/from)=(>street) then goto (fake)
  1843.  
  1844. display(display\password)
  1845. update
  1846.  
  1847.         *PASS
  1848. say (&3&Enter the password you would like&12&: &15&*)
  1849. cgetpass%MIN2%(.)
  1850. menuequal(a=%name%)
  1851. if (%resp%)=(&a) then goto (bp)
  1852. menuequal(a=%fname%)
  1853. if (&a)=(%resp%) then goto (bp)
  1854. menuequal(a=%lname%)
  1855. if (&a)=(%resp%) then goto (bp)
  1856. setequal(>PASS=%RESP%)
  1857. setequal(k=%RESP%)
  1858. say(&CR&&3&Please enter the password again for verification&12&: &15&*)
  1859. cgetpass%MIN2%(.)
  1860. notif (%RESP%) = (&k) then goto (badpass)
  1861.  
  1862. say(&CR&&3&Please enter your &11&home &3&phone number in the format shown.&15&)
  1863. picture(###-###-####)
  1864. repeating(%resp%)
  1865. iftrue(goto (fake))
  1866. setequal(>PHONE=%RESP%)
  1867. setequal(/PHONE=%Resp%)
  1868. ask (&CR&&3&If you have a &11&work &3&phone number, please enter it now&12&: &15&*)
  1869. setequal(>WORK=%RESP%)
  1870. say(&CR&&3&Please enter your &11&birthdate &3&in the format (MM/DD/YY) shown.&15&)
  1871. update
  1872. picture(##-##-##)
  1873. repeating(%resp%)
  1874. iftrue(goto (fake))
  1875. dateok(%resp%)
  1876. ifnottrue(goto (fake))
  1877. setequal(>BIRTH=%RESP%)
  1878.  
  1879. display (display\defprots)
  1880. setequal(/birth=%resp%)
  1881. menuask(&3&Which protocol would you like &11&(or N for None)?%hRed%: &15&*)
  1882. setequal(/protocol=%RESP%)
  1883.  
  1884. display(display\comps)
  1885. ask %MIN1%(&3&What type of computer do you have?&12&: &15&*)
  1886. setequal(>COMP=%RESP%)
  1887. setequal(>WAIT=N)
  1888. display(display\length)
  1889. setequal(t=24)
  1890. if (%graphics%)=(RIP) then setequal(t=41)
  1891. menuask %MIN1%(&CR&&3&Please enter the length of your screen &11&(%var%t Recommended)&12&: &15&*)
  1892. setequal(>FIRST=%DATE%)
  1893. setequal(>SCREENLEN=%RESP%)
  1894. setequal(>LEFT=%NEWTIME%)
  1895. setequal(>SEC=%NEWSEC%)
  1896. seekfile(phones.dat,/:phone/)
  1897. iftrue(loadmem (control\dphone.ctl))
  1898. say(&CR&&11&Please wait while your records are created...*)
  1899. findsp
  1900. setequal(a=%aresp%)
  1901. saveuser(%var%a)
  1902. appendto(userfile.ndx,%var%D│\:PASS\│\:FROM\│%var%a│0)
  1903. say( |)
  1904. eline(55)
  1905. appendto(phones.dat,\:phone\)
  1906. seekuser(%var%D)
  1907. loadmem(control\open.ctl,goto (connect))
  1908.  
  1909.         *BADPASS
  1910. say(&CR&&12&The passwords did not match.  Please try again...&CR&)
  1911. goto (pass)
  1912.  
  1913. *fake
  1914. appendto(badnames.bbs,%name%)
  1915. log(--,User attempted log on with false info)
  1916. quitbbs
  1917.  
  1918. *inv
  1919. inc(t)
  1920. if (&t)=(2) then goto (fake)
  1921. goto(city)
  1922.  
  1923. *bp
  1924. say (&CR&&12&Please enter a more unique, hard to guess password.&CR&)
  1925. goto (pass)
  1926. UEDIT3CTL*StUEdit3
  1927.  
  1928. *ClearInfoBox
  1929.  AnsiGoto (2,15)
  1930.  Say (      *)
  1931.  AnsiGoto (30,15)
  1932.  Say (              *)
  1933.  AnsiGoto (2,16)
  1934.  Say (              *)
  1935.  AnsiGoto (30,16)
  1936.  Say (         *)
  1937.  AnsiGoto (2,17)
  1938.  Say (            *)
  1939.  AnsiGoto (30,17)
  1940.  Say (             *)
  1941.  AnsiGoto (2,18)
  1942.  Say (                *)
  1943.  AnsiGoto (30,18)
  1944.  Say (         *)
  1945.  AnsiGoto (30,19)
  1946.  Say (               *)
  1947.  AnsiGoto (30,20)
  1948.  Say (                  *)
  1949.  
  1950. AnsiGoto (20,17)
  1951. MenuAsk (&15&Enter Name to Search For: &2&*)
  1952. SetEqual (v=%RESP%)
  1953. AnsiGoto (20,17)
  1954. Say (&12&      Searching....                         *)
  1955. AnsiGoto (39,17)
  1956. SetEqual (y=%var%z)
  1957.  
  1958. *FindIt
  1959. SeekUser (%var%v)
  1960. ifnottrue(goto (notfound))
  1961. SetEqual (z=%NDNUMB%)
  1962. Loadmem(control\uedit.ctl,goto(clearinfo))
  1963.  
  1964. *NotFound
  1965.  AnsiGoto (20,17)
  1966.  Say (&12&%var%v could not be found in the userfile.*)
  1967.  SecPause (2)
  1968.  AnsiGoto (20,17)
  1969.  Say (&12&                                                   *)
  1970.  SetEqual (z=%var%y)
  1971.  SetEqual (m=0)
  1972.  Loadmem (control\uedit.ctl,goto(clearinfo))
  1973.  
  1974. *Found
  1975.  SetEqual (m=1)
  1976.  SetEqual (z=%var%z)
  1977.  Loadmem (control\uedit.ctl,goto(clearinfo))
  1978.  
  1979. *Another
  1980.  AnsiGoto (20,17)
  1981.  YesNoAsk(&15&Continue Search? *)
  1982.  If (%RESP%)=(Yes) then goto (FindIt)
  1983.  SetEqual (m=0)
  1984. Loadmem (control\uedit.ctl,goto(clearinfo))
  1985. DOWNATTCTLÉsetactivity(Downloading Files)
  1986.  
  1987.         *pickprot
  1988. display (display\dnPROTS1)
  1989. MenuAsk (&3&Which transfer protocol would you like to use?&12&: &15&*)
  1990. if (%RESP%)=(Q) then goto (aborted)
  1991. len(%RESP%)
  1992. notif (%ARESP%)=(1) then goto (Pprob)
  1993. seek(protocol\%RESP%-Ad.BT)
  1994. iftrue (goto (Pok))
  1995.  
  1996.         *pprob
  1997. loadsub(control\macros\badsel.ctl)
  1998. goto (pickprot)
  1999.  
  2000.         *Pok
  2001. setequal(r=%RESP%)
  2002. setequal(x=%MSGATTNAME%)
  2003. size(%ATTPAT%%var%x)
  2004. ttime(%ARESP%)
  2005. cmpval(%TTIM%,/:LEFT/)
  2006. if (%ARESP%)=(No) then goto (notenuftime)
  2007. say(&11&)
  2008. say(We're ready to send the file.  Please start receiving now.)
  2009. fixfile(protocol\%var%r-ad.bt,protocol\%var%r-ad.bat)
  2010. exec(protocol\%var%r-ad.BAT│)
  2011. kill(protocol\%var%r-ad.bat)
  2012.  
  2013.         *success
  2014. notif (%ARESP%)=(0) then goto (aborted)
  2015. log(--,Attach downloaded (%var%x))
  2016. inpline(varr.%NODE%,1)
  2017. setequal(r=%ARESP%)
  2018. display(display\attsucc1)
  2019. Return
  2020.  
  2021.         *notenuftime
  2022. display(display\NODLTIME)
  2023. inpline(varr.%NODE%,1)
  2024. setequal(r=%ARESP%)
  2025. Return
  2026.  
  2027.         *aborted
  2028. log(--,Attach download aborted (%var%x))
  2029. setequal(x=)
  2030. flushout
  2031. inpline(varr.%NODE%,1)
  2032. setequal(r=%ARESP%)
  2033. display(display\attabt1)
  2034. Return
  2035. READCTLûclearscr
  2036.  
  2037. setequal(n=1)
  2038. setequal(x=1)
  2039. *read
  2040. setequal(r=0)
  2041. setequal(w=1)
  2042. setactivity(Reading Mail)
  2043. *rmail
  2044. notif (&n)=(1) then goto (endmr) ;if they came back...
  2045. setequal(n=0)
  2046. *brmail
  2047. linefeed(1)
  2048. himsg(/:LASTMSG/)
  2049. setequal(f=%ARESP%)
  2050. lowmsg(/:lastmsg/)
  2051. setequal(n=%ARESP%)
  2052. display (display\READ)
  2053. setequal(y=%ARESP%)
  2054. setequal(z=0)
  2055. numbmenuask%CRON%(&3&Which read mail number or option would you like?&12&: &15&*)
  2056. bignicesay(r:Reverse,q:quit,m:Since last read,s:Search,y:your mail,h:help)
  2057. bigif(r:rev,m:since,s:search,y:Your,h:help,<CR>:qt,q:qt)
  2058. number(%RESP%)
  2059. if (%RESP%)=(0) then goto (inv2)
  2060. iftrue (goto (nread))
  2061. goto (inv2)
  2062. *qt
  2063. return
  2064.  
  2065. *help
  2066. display(display\help\read,/:SEC/)
  2067. goto (brmail)
  2068.  
  2069. *nread
  2070. cmpval(%var%f,%RESP%)
  2071. iftrue (goto (inv2))
  2072. cmpval(%var%n,%RESP%)
  2073. ifnottrue(setequal(/resp=%var%n))
  2074. setequal(w=1)
  2075. setequal(y=%RESP%)
  2076. goto (repeat)
  2077.  
  2078. *since
  2079. msghigh(/:LASTMSG/)
  2080. setequal(y=%ARESP%)
  2081. cmpval(%var%f,%var%y)
  2082. iftrue (goto (inv2))
  2083. cmpval(%var%n,%VAR%Y)
  2084. ifnottrue(setequal(y=%var%n))
  2085. setequal(w=1)
  2086. setequal(s=0)
  2087. goto (repeat)
  2088.  
  2089. *repeat
  2090. inittxt
  2091. setequal(s=0)
  2092. getmail(%var%y,/:LASTMSG/,%var%w)
  2093. if (%MsgNumber%)=(0) then goto (0next)
  2094. setequal(z=10)
  2095. notif (%ARESP%)=(Yes) then goto (nope)
  2096. *banyway
  2097. clearscr
  2098. setequal(x=0)
  2099. setequal(s=0)
  2100. setequal(g=%RESP%)
  2101. nicedate(%MSGSNTD%)
  2102. say(&11&Message Number &3&%MsgNumber%&11& of &3&%var%f&11& was sent on&3& %ARESP%&11& at &3&*)
  2103. nicetime(%MSGSNTT%)
  2104. nicesay(%ARESP%&14&&CR&        Sent by: &3&%MSGFROM%&CR&&14&   Addressed to: &3&%MSGTO% )
  2105. say(&14&      Regarding: &3&%MSGDESC% )
  2106. nicesay(&14&         Status: &3&%MSGPVT%, %MSGRCVD%, Read %MSGRDTIMES% times, %REPLIES%)
  2107. spause(8)
  2108. if (%MSGATTACH%)=(Y) then if (%MSGPVT%)=(PRIVATE) then setequal(s=10)
  2109. if (%MSGATTACH%)=(Y) then say (&12&* &14&File Attached: &3&%MSGATTNAME%)
  2110. if (&s)=(10) then spause(9)
  2111. say(&8&────────────────────────────────────────────────────────────────────────&CR&&7&)
  2112. showtxt
  2113. *reading
  2114. if (&s)=(0) then display (display\READING)
  2115. if (&s)=(10) then display (display\READINGA)
  2116. numbmenuask %CRON%(&3&Which reading &11&option &3&or &11&message number&3&?&12&: &15&*)
  2117. bignicesay(e:edit,q:quit,r:reply,s:Show again,n:next,f:forward thread,p:previous message,k:kill,o:Forward,h:help)
  2118. if (&s)=(10) then bignicesay(d:Download Attach)
  2119. bigif (e:edit,o:forw,q:qdisp,s:repeat,r:reply,p:previous,f:follow,k:kill,n:next,h:help2)
  2120. bigif (d:downatt)
  2121. if (%RESP%)=(<CR>) then goto (next)
  2122. number(%RESP%)
  2123. iftrue (goto (nread))
  2124. setequal(s=5)
  2125. goto (inv2)
  2126.  
  2127. *help2
  2128. display(display\help\readn,/:SEC/)
  2129. goto (reading)
  2130.  
  2131. *downatt
  2132. zap(varr.%NODE%,%var%R)
  2133. linefeed(1)
  2134. loadsub(control\DOWNATT.CTL)
  2135. goto (repeat)
  2136.  
  2137. *forw
  2138. namequal(a=%MSGTO%)
  2139. namequal(b=%NAME%)
  2140. if (&a)=(&b) then goto (okf)
  2141. namequal(a=%MSGFROM%)
  2142. if (&a)=(&b) then goto (okf)
  2143. setequal(s=5)
  2144. goto (inv2)
  2145. *okf
  2146. loadsub(control\macros\forw.ctl)
  2147. goto (repeat)
  2148.  
  2149. *your
  2150. cmenuask(&CR&&3&Starting at which message number?&11&(%var%n-%var%f)&12&: &15&*)
  2151. say(&CR&&11&Searching...|)
  2152. clearmem
  2153. seekto(/:LASTMSG/,%NAME%,%RESP%)
  2154. if (%ARESP%)=(ERROR) then goto (endmr)
  2155. log(--,Scanned for (Y)our mail)
  2156. eline(25)
  2157. zap(seeking.%NODE%,1)
  2158. appendto(seeking.%NODE%,%NAME%)
  2159. if (%ARESP%)=(ERROR) then goto (endmr)
  2160. setequal(r=20)
  2161. setequal(u=0)
  2162. goto (snext)
  2163.  
  2164. *search
  2165. loadsub(control\macros\msearch.ctl)
  2166. if (%RESP%)=(Q) then goto (endmr)
  2167. notif (%ARESP%)=(ERROR) then goto (snext)
  2168. goto (endmr)
  2169.  
  2170. *rev
  2171. if (&y)=(0) then goto (inv2)
  2172. setequal(y=%var%f)
  2173. setequal(w=-1)
  2174. if (&y)=(0) then goto (inv2)
  2175. goto (repeat)
  2176.  
  2177. *snext
  2178. inc(u)
  2179. setequal(y=^:U^)
  2180. if (^:U^)=(MOREMAIL) then goto (fmore)
  2181. if (^:U^)=() then goto (endmr)
  2182. goto (repeat)
  2183.  
  2184. *fmore
  2185. addvar(&u+-1=u)
  2186. inpline(seeking.%NODE%,1)
  2187. setequal(p=%ARESP%)
  2188. inpline(seeking.%NODE%,2)
  2189. if (&p)=(1) then seekto(/:lastmsg/,%ARESP%,^:u^)
  2190. if (&p)=(2) then seekfrom(/:lastmsg/,%ARESP%,^:u^)
  2191. if (&p)=(3) then seekdesc(/:lastmsg/,%ARESP%,^:u^)
  2192. if (&p)=(4) then seektext(/:lastmsg/,%ARESP%,^:u^)
  2193. setequal(u=0)
  2194. goto (repeat)
  2195.  
  2196. *lnext
  2197. inc(u)
  2198. setequal(y=^:U^)
  2199. if (^:U^)=() then goto (endmr)
  2200. goto (repeat)
  2201.  
  2202. *qdisp
  2203. linefeed(1)
  2204. if (&r)=(10) then goto (endmr)
  2205. Return
  2206.  
  2207. *0next
  2208. if (&r)=(10) then goto (lnext)
  2209. if (&r)=(20) then goto (snext)
  2210. if (&y)=(0) then goto (inv2)
  2211. if (&y)=(-1) then goto (inv2)
  2212. addvar(%var%y+%var%w=y)
  2213. if (&y)=(0) then goto (inv2)
  2214. cmpval(%var%f,%var%y)
  2215. iftrue (goto (inv2))
  2216. goto (repeat)
  2217.  
  2218. *smore
  2219. notif (&x)=(1) then say(&10&Searching for more messages...|)
  2220. setequal(x=1)
  2221. setequal(s=10)
  2222.  
  2223. *next
  2224. if (&r)=(10) then goto (lnext)
  2225. if (&s)=(0) then goto (smore)
  2226. if (&r)=(20) then goto (snext)
  2227. if (&y)=(0) then goto (inv2)
  2228. if (&y)=(-1) then goto (inv2)
  2229. notif (%MRESP%)=() then goto (sknext)
  2230. addvar(%var%y+%var%w=y)
  2231. if (&y)=(0) then goto (inv2)
  2232. cmpval(%var%f,%var%y)
  2233. iftrue (goto (inv2))
  2234. goto (repeat)
  2235. *sknext
  2236. setequal(y=%MRESP%)
  2237. if (&y)=(0) then goto (inv2)
  2238. cmpval(%var%f,%var%y)
  2239. iftrue (goto (inv2))
  2240. goto (repeat)
  2241.  
  2242. *kill
  2243. enufsec(100)
  2244. iftrue(goto (stkill))
  2245. setequal(a=%NAME%)
  2246. upcase(a)
  2247. setequal(i=%MSGFROM%)
  2248. upcase(i)
  2249. setequal(j=%MSGTO%)
  2250. upcase(j)
  2251. notif (&i)=(&a) then notif (&j)=(&a) then goto (repeat)
  2252. if (%MSGNAMEC%)=(Yes) then goto (repeat)
  2253. *stkill
  2254. msgkill (/:LASTMSG/,%var%y)
  2255. say(&12&&CR&Message #%var%y has been deleted!&CR&)
  2256. goto (next)
  2257.  
  2258. *follow
  2259. if (%REPLIES%)=(NO REPLIES) then goto (nomore)
  2260. setequal(s=5)
  2261. setequal(q=%MSGPREV%)
  2262. if (%MSGPREV%)=(0) then setequal(q=%var%y)
  2263. nextforward(%var%q,%var%y,/:LASTMSG/)
  2264. if (%ARESP%)=(0) then goto (nomore)
  2265. setequal(y=%ARESP%)
  2266. goto (repeat)
  2267. *nomore
  2268. say(&CR&&12&There are no more replies to this message.&CR&)
  2269. goto (reading)
  2270.  
  2271. *previous
  2272. setequal(s=5)
  2273. if (%MSGPREV%)=(0) then goto (inv2)
  2274. setequal(y=%MSGPREV%)
  2275. goto (repeat)
  2276.  
  2277. *edit
  2278. loadsub(control\macros\edit.ctl)
  2279. goto (repeat)
  2280.  
  2281. *reply
  2282. loadsub(control\macros\reply.ctl)
  2283. goto (repeat)
  2284.  
  2285. *inv2
  2286. if (&s)=(10) then goto (abb)
  2287. say(&CR&&12&Invalid selection! Please try again...)
  2288. secpause(1)
  2289. flushout
  2290. if (&s)=(5) then goto (reading)
  2291. *abb
  2292. if (&z)=(0) then goto (brmail)
  2293. goto (endmr)
  2294.  
  2295. *nope
  2296. if (%ARESP%)=(ERROR) then goto (next)
  2297. if (%ARESP%)=(DELETED) then goto (next)
  2298. enufsec(100)
  2299. iftrue (goto (banyway))
  2300. goto (next)
  2301.  
  2302. *endmr
  2303. say(&11&&CR& ══ &14&No more mail found for you to read, %FNAME%&11& ══&CR&)
  2304. enter
  2305. Return
  2306. UEDITCTL└*StUEdit
  2307. *edit
  2308.  SetEqual (f=1)
  2309.  SetEqual (e=0)
  2310.  SetEqual (w=0)
  2311.  SetEqual (z=1)
  2312.  SetEqual (m=0)
  2313. *moreedit
  2314.  ClearScr
  2315.  LoadUser(%var%z)
  2316.  SetEqual (x=0)
  2317. *EvenMoreEdit 
  2318.  AnsiGoto (1,1)
  2319.  If (&w)=(1) then goto (putinfo)
  2320.  Say ($0$&15&Name    :                              Birthdate: )
  2321.  Say (Street  :                               Times On: )
  2322.  Say (From    :                         Computer Using: )
  2323.  Say (Phone   :                          Carrier Drops: )
  2324.  Say (Sec     :                             Work Phone: )
  2325.  Say (Passwd  :                             Subscriber: )
  2326.  Say (TimeLeft:                           Sub Date Exp: )
  2327.  Say (Memo    : )
  2328.  Say (Downlds :                         Avail For Chat: )
  2329.  Say (Uploads : )
  2330.  Say (KDled   : )
  2331.  Say (KUled   : )
  2332. *PutInfo
  2333.  AnsiGoto (11,1)
  2334.  Say (&14&\:NAME\*)
  2335.  AnsiGoto (11,2)
  2336.  Say (\:STREET\*)
  2337.  AnsiGoto (11,3)
  2338.  Say (\:FROM\*)
  2339.  AnsiGoto (11,4)
  2340.  Say (\:PHONE\*)
  2341.  AnsiGoto (11,5)
  2342.  Say (\:SEC\*)
  2343.  AnsiGoto (11,6)
  2344.  Say (\:PASS\*)
  2345.  AnsiGoto (11,7)
  2346.  Say (\:LEFT\*)
  2347.  AnsiGoto (11,8)
  2348.  Say (\:MEMO\*)
  2349.  AnsiGoto (11,9)
  2350.  Say (\:DOWNLOADS\*)
  2351.  AnsiGoto (11,10)
  2352.  Say (\:UPLOADS\*)
  2353.  AnsiGoto (11,11)
  2354.  Say (\:KDOWN\*)
  2355.  AnsiGoto (11,12)
  2356.  Say (\:KUP\*)
  2357.  AnsiGoto (51,1)
  2358.  Say (\:BIRTH\)
  2359.  AnsiGoto (51,2)
  2360.  Say (\:TIMESON\)
  2361.  AnsiGoto (51,3)
  2362.  Say (\:COMP\)
  2363.  AnsiGoto (51,4)
  2364.  Say (\:DROPPED\)
  2365.  AnsiGoto (51,5)
  2366.  Say (\:WORK\)
  2367.  AnsiGoto (51,6)
  2368.  Say (\:SUB\)
  2369.  AnsiGoto (51,7)
  2370.  Say (\:SUBDATE\)
  2371.  AnsiGoto (51,9)
  2372.  Say (\:DEFAVAIL\)
  2373.  AnsiGoto (1,14)
  2374.  If (&x)=(1) then goto (Check)
  2375.  If (&e)=(1) then goto (Secondary)
  2376.  If (&m)=(1) then goto (Secondary)
  2377.  
  2378. *AndMore
  2379. Say (&4&╔═══════════════════════════════════════════════════════════════════════════╗)
  2380. Say (║&7& KEYS:                      Edit this User                                &4& ║)
  2381. Say (║&7& 2 = Move Down              Next User                                     &4& ║)
  2382. Say (║&7& 8 = Move Up                Previous User                                 &4& ║)
  2383. Say (║&7& (ENTER) Selects            Last User                                     &4& ║)
  2384. Say (║&7&                            Search for User                               &4& ║)
  2385. Say (║&7&                            Quit to Sysop Menu                            &4& ║)
  2386. Say (╚═══════════════════════════════════════════════════════════════════════════╝)
  2387. Goto (Check)
  2388.  
  2389. *Secondary
  2390.  Say (&4&╔═══════════════════════════════════════════════════════════════════════════╗)
  2391.  Say (║                                                                           ║)
  2392.  Say (║                                                                           ║)
  2393.  Say (║                                                                           ║)
  2394.  Say (║                                                                           ║)
  2395.  Say (║                                                                           ║)
  2396.  Say (║                                                                           ║)
  2397.  Say (╚═══════════════════════════════════════════════════════════════════════════╝)
  2398.  If (&m)=(1) then loadmem(control\uedit3.ctl,goto(Another))
  2399.  If (&e)=(1) then loadmem(control\uedit2.ctl,goto(Edit))
  2400.  
  2401. *Check
  2402.  If (&f)=(1) then goto (place1)
  2403.  If (&f)=(2) then goto (place2)
  2404.  If (&f)=(3) then goto (place3)
  2405.  If (&f)=(4) then goto (place4)
  2406.  If (&f)=(5) then goto (place5)
  2407.  If (&f)=(6) then goto (place6)
  2408. *more
  2409.  MenuKey%CRON%
  2410.  if (%resp%)=(<CR>) then goto (chkifs)
  2411.  bigif (2:movehighlightfd,8:movehighlightbk,f:first,q:exedit)
  2412.  Goto(BadSel)
  2413.  
  2414. *Chkifs
  2415.  NotIf (&f)=(2) then goto (moreifs)
  2416.  goto (cont)
  2417. *moreifs
  2418.  If (&f)=(6) then goto (exedit)
  2419.  NotIf (&f)=(3) then goto (lastifs)
  2420.  Goto (cont)
  2421.  
  2422. *lastifs
  2423.  NotIf (&f)=(4) then Loadmem(control\uedit2.ctl,goto(selection))
  2424. *Cont 
  2425.  If (&f)=(4) then goto (Last)
  2426.  If (&f)=(3) then goto (prev)
  2427.  SaveUser (%var%z)
  2428.  inc(z)
  2429.  Numbusers()
  2430.  SetEqual (d=%ARESP%)
  2431.  inc(d)
  2432.  CmpVal(%var%d,%var%z)
  2433.  iftrue (setequal(Z=%var%d))
  2434.  SetEqual (x=1)
  2435.  Goto (Clearinfo)
  2436.  
  2437. *Prev
  2438.  SaveUser (%var%z)
  2439.  SetEqual (z=%var%z)
  2440.  NotIf (&z)=(0) then AddVar (&z+-1=z)
  2441.  If (&z)=(0) then SetEqual (z=1)
  2442.  SetEqual (x=1)
  2443.  Goto (Clearinfo)
  2444.  
  2445. *Last
  2446.  SaveUser (%var%z)
  2447.  Numbusers
  2448.  SetEqual (z=%ARESP%)
  2449.  SetEqual (x=0)
  2450.  Goto (ClearInfo)
  2451.  
  2452. *First
  2453.  SetEqual (z=1)
  2454.  Goto (ClearInfo)
  2455.  
  2456. *Temp
  2457.  ClearScr
  2458.  return
  2459.  
  2460. *EditUser
  2461.  Say (&7&Enter letter of item to change (Q to Quit Changing): *)
  2462.  MenuKey
  2463.  Say (&15& %RESP%)
  2464. BigIf(N:ChgName,S:ChgSt,F:ChgFrom,H:ChgPhone,C:ChgSec,P:ChgPass,T:ChgTL)
  2465. BigIf(M:ChgMemo,D:ChgDls,U:ChgUls,K:ChgDlK,L:ChgUlK,Q:Quit)
  2466.  Goto(BadSel)
  2467.  
  2468. *BadSel
  2469.   AnsiGoto (30,15)
  2470.   Say (              *)
  2471.   AnsiGoto (30,16)
  2472.   Say (         *)
  2473.   AnsiGoto (30,17)
  2474.   Say (             *)
  2475.   AnsiGoto (30,18)
  2476.   Say (         *)
  2477.   AnsiGoto (30,19)
  2478.   Say (               *)
  2479.   AnsiGoto (30,20)
  2480.   Say (                  *)
  2481.   AnsiGoto (30,17)
  2482.   Say (&12&Invalid Selection!*)
  2483.   SecPause(2)
  2484.   AnsiGoto (1,14)
  2485.   Goto (AndMore)
  2486.  
  2487. *Quit
  2488.  SetEqual (f=1)
  2489.  SetEqual (e=0)
  2490.  SetEqual (z=1)
  2491.  SetEqual (m=0)
  2492.  SetEqual (e=0)
  2493.  Goto (EvenMoreEdit)
  2494.  
  2495.  
  2496. *Place1
  2497.  AnsiGoto (30,15)
  2498.  Say ($7$&0&Edit this User$0$*)
  2499.  Goto (more)
  2500.  
  2501. *Place2
  2502.  AnsiGoto (30,16)
  2503.  Say ($7$&0&Next User$0$*)
  2504.  Goto (more)
  2505.  
  2506. *Place3
  2507.  AnsiGoto (30,17)
  2508.  Say ($7$&0&Previous User$0$*)
  2509.  Goto (more)
  2510.  
  2511. *Place4
  2512.  AnsiGoto (30,18)
  2513.  Say ($7$&0&Last User$0$*)
  2514.  Goto (more)
  2515.  
  2516. *Place5
  2517.  AnsiGoto (30,19)
  2518.  Say ($7$&0&Search for User$0$*)
  2519.  Goto (more)
  2520.  
  2521. *Place6
  2522.  AnsiGoto (30,20)
  2523.  Say ($7$&0&Quit to Sysop Menu$0$*)
  2524.  Goto (more)
  2525.  
  2526. *NormPlace1
  2527.  AnsiGoto (30,15)
  2528.  Say ($0$&7&Edit this User)
  2529.  SetEqual (f=2)
  2530.  Goto (check)
  2531.  
  2532. *NormPlace2
  2533.  AnsiGoto (30,16)
  2534.  Say ($0$&7&Next User)
  2535.  SetEqual (f=3)
  2536.  Goto (check)
  2537.  
  2538. *NormPlace3
  2539.  AnsiGoto (30,17)
  2540.  Say ($0$&7&Previous User)
  2541.  SetEqual (f=4)
  2542.  Goto (check)
  2543.  
  2544. *NormPlace4
  2545.  AnsiGoto (30,18)
  2546.  Say ($0$&7&Last User) 
  2547.  SetEqual (f=5)
  2548.  Goto (check)
  2549.  
  2550. *NormPlace5
  2551.  AnsiGoto (30,19)
  2552.  Say ($0$&7&Search for User) 
  2553.  SetEqual (f=6)
  2554.  Goto (check)
  2555.  
  2556. *NormPlace6
  2557.  AnsiGoto (30,20)
  2558.  Say ($0$&7&Quit to Sysop Menu)
  2559.  SetEqual (f=1)
  2560.  Goto (Check)
  2561.  
  2562. *BkPlace1
  2563.  AnsiGoto (30,15)
  2564.  Say ($0$&7&Edit this User)
  2565.  SetEqual (f=6)
  2566.  Goto (check)
  2567.  
  2568. *BkPlace2
  2569.  AnsiGoto (30,16)
  2570.  Say ($0$&7&Next User)
  2571.  SetEqual (f=1)
  2572.  Goto (check)
  2573.  
  2574. *BkPlace3
  2575.  AnsiGoto (30,17)
  2576.  Say ($0$&7&Previous User)
  2577.  SetEqual (f=2)
  2578.  Goto (check)
  2579.  
  2580. *BkPlace4
  2581.  AnsiGoto (30,18)
  2582.  Say ($0$&7&Last User) 
  2583.  SetEqual (f=3)
  2584.  Goto (check)
  2585.  
  2586. *BkPlace5
  2587.  AnsiGoto (30,19)
  2588.  Say ($0$&7&Search for User) 
  2589.  SetEqual (f=4)
  2590.  Goto (check)
  2591.  
  2592. *BkPlace6
  2593.  AnsiGoto (30,20)
  2594.  Say ($0$&7&Quit to Sysop Menu)
  2595.  SetEqual (f=5)
  2596.  Goto (Check)
  2597.  
  2598. *MoveHighlightFd
  2599.  setequal(/resp=%var%f)
  2600.  bigif(1:normplace1,2:normplace2,3:normplace3,4:normplace4,5:normplace5,6:normplace6)
  2601.  Goto (Edit)
  2602.  
  2603. *MoveHighlightBk
  2604.  setequal(/resp=%var%f)
  2605.  bigif(1:Bkplace1,2:Bkplace2,3:Bkplace3,4:Bkplace4,5:Bkplace5,6:Bkplace6)
  2606.  Goto (Edit)
  2607.  
  2608. *ClearInfo
  2609.  AnsiGoto (11,1)
  2610.  Say (                             *)
  2611.  AnsiGoto (11,2)
  2612.  Say (                             *)
  2613.  AnsiGoto (11,3)
  2614.  Say (                        *)
  2615.  AnsiGoto (11,4)
  2616.  Say (               *)
  2617.  AnsiGoto (11,5)
  2618.  Say (    *)
  2619.  AnsiGoto (11,6)
  2620.  Say (                    *)
  2621.  AnsiGoto (11,7)
  2622.  Say (     *)
  2623.  AnsiGoto (11,8)
  2624.  Say (                              *)
  2625.  AnsiGoto (11,9)
  2626.  Say (     *)
  2627.  AnsiGoto (11,10)
  2628.  Say (     *)
  2629.  AnsiGoto (11,11)
  2630.  Say (     *)
  2631.  AnsiGoto (11,12)
  2632.  Say (     *)
  2633.  AnsiGoto (51,1)
  2634.  Say (        *)
  2635.  AnsiGoto (51,2)
  2636.  Say (     *)
  2637.  AnsiGoto (51,3)
  2638.  Say (                    *)
  2639.  AnsiGoto (51,4)
  2640.  Say (     *)
  2641.  AnsiGoto (51,5)
  2642.  Say (               *)
  2643.  AnsiGoto (51,6)
  2644.  Say (  *)
  2645.  AnsiGoto (51,7)
  2646.  Say (        *)
  2647.  AnsiGoto (51,9)
  2648.  Say (  *)
  2649.  LoadUser (%var%z)
  2650.  SetEqual (x=0)
  2651.  Goto (PutInfo)
  2652.  
  2653. *exedit
  2654. clearscr
  2655. return
  2656. DOORSMNU⌐*disp
  2657. SetActivity (Doors Menu)
  2658. if (/Expert)=(Y) then linefeed(1)
  2659. if (/EXPERT)=(Y) then goto (prompt)
  2660.  
  2661. *sdisp
  2662. Display (display\doors,/:SEC/)
  2663.  
  2664. *prompt
  2665. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  2666. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  2667. number(%RESP%)
  2668. ifNotTrue( goto (bsel))
  2669. seek(door%RESP%.Bat)
  2670. ifnottrue(goto (bsel))
  2671. Display(Display\door%RESP%)
  2672. Log(--,Executing Door #%RESP%)
  2673. FixFile (door.bt,door.bat)
  2674. Say(&14&&CR&Please wait, Opening Door #%resp% . . .*)
  2675. Exit (80,door|)
  2676.  
  2677. *bsel
  2678. loadsub(control\macros\badsel.ctl)
  2679. goto (disp)
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688. *GOODBYE
  2689. EnufSec(10)
  2690. IfNotTrue(Goto(BSel))
  2691. LoadSub(CONTROL\MACROS\BYE.CTL)
  2692. Goto(Disp)
  2693.  
  2694. *MAIN
  2695. LoadMem(CONTROL\MAIN.MNU)
  2696.  
  2697. *HELP
  2698. EnufSec(10)
  2699. IfNotTrue(Goto(BSel))
  2700. Display(display\help\door,/:SEC/)
  2701. Log (--,Viewed Doors Menu Help)
  2702. Goto (Disp)
  2703.  
  2704. *EXP
  2705. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  2706. Goto(Disp)
  2707. QUESDEFSysops
  2708. QUESMNUN*disp
  2709. SetActivity (Questionnaires)
  2710. if (/Expert)=(Y) then linefeed(1)
  2711. if (/EXPERT)=(Y) then goto (prompt)
  2712. *sdisp
  2713. Display (display\ques,/:SEC/)
  2714.  
  2715. *prompt
  2716. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Minutes Remain. &15&Please select, &14&%FNAME%&12&: &15&*)
  2717. BigIf (G:GOODBYE,Q:MAIN,H:HELP,?:SDISP,X:EXP)
  2718.  
  2719. number(%RESP%)
  2720. if (%ARESP%)=(No) then goto (bsel)
  2721. say(&7&)
  2722. clearscr
  2723. seek(ques\QUEST%RESP%.que)
  2724. if (%ARESP%)=(No) then goto (bsel)
  2725.  
  2726. loadsub(ques\QUEST%RESP%.que)
  2727. goto (disp)
  2728.  
  2729. *bsel
  2730. loadsub(control\macros\badsel.ctl)
  2731. goto (disp)
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742. *GOODBYE
  2743. EnufSec(10)
  2744. IfNotTrue(Goto(BSel))
  2745. LoadSub(CONTROL\MACROS\BYE.CTL)
  2746. Goto(Disp)
  2747.  
  2748. *MAIN
  2749. LoadMem(CONTROL\MAIN.MNU)
  2750.  
  2751. *HELP
  2752. Display(display\help\ques,/:SEC/)
  2753. Log (--,Viewed Questionnaires Help)
  2754. Goto (Disp)
  2755.  
  2756. *EXP
  2757. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  2758. Goto(Disp)
  2759. FILESMNUI    *disp
  2760. SetActivity (Files Menu)
  2761. if (/expert)=(Y) then linefeed(1)
  2762. if (/EXPERT)=(Y) then goto (prompt)
  2763.  
  2764. *sdisp
  2765. Display (display\file,/:SEC/)
  2766.  
  2767. *prompt
  2768. menuask %MIN1%(&0&$7$%CACT%$0$&7& %LEFT% Left &3&[/:LASTMSG/:%FILNAME%] &15&Please select, &14&%FNAME%&12&: &15&*)
  2769. BigIf (G:GOODBYE,H:HELP,?:SDISP,X:EXP,Q:MAIN,C:CHANGE,L:LIST,R:READ,V:ZVIEW,N:NEW,D:DOWN,U:UP,M:MOVE,J:JOIN,DEL:DELTAGGED,TAG:TAGFILES,LIST:LTAGGED,S:SEARCH,W:WILD,A:ABAND)
  2770. goto (badsel)
  2771.  
  2772. *badsel
  2773. loadsub(control\macros\badsel.ctl)
  2774. goto (disp)
  2775.  
  2776. *pauseprompt
  2777. defpause($7$&0&[Send more text?]$0$&3& (&11&S&3&)top, (&11&N&3&)onstop or (&11&C&3&)ontinue?&12&: &7&)
  2778. defPif(s:stop,n:nonstop)
  2779. ret
  2780. *GOODBYE
  2781. EnufSec(10)
  2782. IfNotTrue(Goto(BSel))
  2783. LoadSub(CONTROL\MACROS\BYE.CTL)
  2784. Goto(Disp)
  2785. *HELP
  2786. EnufSec(10)
  2787. IfNotTrue(Goto(BSel))
  2788. Display(display\help\file,/:SEC/)
  2789. Log (--,Viewed Files Menu Help)
  2790. Goto (Disp)
  2791. *EXP
  2792. EnufSec(10)
  2793. IfNotTrue(Goto(BSel))
  2794. LoadSub(CONTROL\MACROS\EXPERT.CTL)
  2795. Goto(Disp)
  2796. *MAIN
  2797. EnufSec(10)
  2798. IfNotTrue(Goto(BSel))
  2799. LoadMem(CONTROL\MAIN.MNU)
  2800. *CHANGE
  2801. EnufSec(10)
  2802. IfNotTrue(Goto(BSel))
  2803. LoadSub(CONTROL\MACROS\CHANGE.CTL)
  2804. Goto(Disp)
  2805. *LIST
  2806. EnufSec(10)
  2807. IfNotTrue(Goto(BSel))
  2808. LoadSub(CONTROL\MACROS\FLIST.CTL)
  2809. Goto(Disp)
  2810. *READ
  2811. EnufSec(10)
  2812. IfNotTrue(Goto(BSel))
  2813. LoadSub(CONTROL\MACROS\FREAD.CTL)
  2814. Goto(Disp)
  2815. *ZVIEW
  2816. EnufSec(10)
  2817. IfNotTrue(Goto(BSel))
  2818. LoadSub(CONTROL\MACROS\ZVIEW.CTL)
  2819. Goto(Disp)
  2820. *NEW
  2821. EnufSec(10)
  2822. IfNotTrue(Goto(BSel))
  2823. LoadSub(CONTROL\MACROS\NEW.CTL)
  2824. Goto(Disp)
  2825. *DOWN
  2826. EnufSec(10)
  2827. IfNotTrue(Goto(BSel))
  2828. LoadSub(CONTROL\MACROS\DOWN.CTL)
  2829. Goto(Disp)
  2830. *UP
  2831. EnufSec(20)
  2832. IfNotTrue(Goto(BSel))
  2833. LoadSub(CONTROL\MACROS\UP.CTL)
  2834. Goto(Disp)
  2835. *MOVE
  2836. EnufSec(100)
  2837. IfNotTrue(Goto(BSel))
  2838. LoadSub(CONTROL\MACROS\MOVE.CTL)
  2839. Goto(Disp)
  2840. *JOIN
  2841. EnufSec(10)
  2842. IfNotTrue(Goto(BSel))
  2843. LoadSub(CONTROL\MACROS\CHG.CTL)
  2844. Goto(Disp)
  2845. *DELTAGGED
  2846. EnufSec(10)
  2847. IfNotTrue(Goto(BSel))
  2848. LoadSub(CONTROL\MACROS\DELTAG.CTL)
  2849. Goto(Disp)
  2850. *TAGFILES
  2851. EnufSec(10)
  2852. IfNotTrue(Goto(BSel))
  2853. LoadSub(CONTROL\MACROS\TFILES.CTL)
  2854. Goto(Disp)
  2855. *LTAGGED
  2856. EnufSec(10)
  2857. IfNotTrue(Goto(BSel))
  2858. LoadSub(CONTROL\MACROS\LTAGGED.CTL)
  2859. Goto(Disp)
  2860. *SEARCH
  2861. EnufSec(10)
  2862. IfNotTrue(Goto(BSel))
  2863. LoadSub(CONTROL\MACROS\SEARCH.CTL)
  2864. Goto(Disp)
  2865. *WILD
  2866. LoadSub(CONTROL\MACROS\WSEARCH.CTL)
  2867. Goto(Disp)
  2868. *ABAND
  2869. EnufSec(10)
  2870. IfNotTrue(Goto(BSel))
  2871. LoadSub(CONTROL\MACROS\ABAND.CTL)
  2872. Goto(Disp)
  2873.